登录
首页 >  Golang >  Go问答

获取网站的著作权归属信息

来源:stackoverflow

时间:2024-02-18 19:03:22 302浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《获取网站的著作权归属信息》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我正在尝试在 golang 中构建一个程序,通过检查网站的版权标签来检查域列表是否属于某个组织。例如,如果您访问 sony.com,那么您将看到 copyright 2021 sony group corporation 位于页面底部,类似地,如果您访问 tesla.com,您将看到 tesla © 2021。我也在使用 whois 进行验证,这是另一个。

我已经尝试了大多数正则表达式,包括此处的正则表达式来匹配版权声明,但它们似乎不起作用。

这是我现在找到的完整代码正则表达式。

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "regexp"
)

func main() {
    domain := "sony.com"
    url := "http://" + domain

    resp, err := http.Get(url)

    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // reads html as a slice of bytes
    html, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    // it will find the substring from html data
    r, _ := regexp.Compile("20[1-3][1-3]")
    if r.FindString(string(html)) != "" {
        fmt.Println(r.FindString(string(html)))
    }

}

这只会输出 2021。我正在尝试实现一个完整的声明,通过它我至少可以获得公司名称。


正确答案


这对于任何网站来说都不可靠,但您可以尝试一下,并可以选择添加一些其他版权起始字符串的情况:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "regexp"
)

func main() {
    domain := "sony.com"
    url := "http://" + domain

    resp, err := http.Get(url)

    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // reads html as a slice of bytes
    html, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    re, err := regexp.Compile(`>.*(©|Copyright).*20\d\d.*

今天关于《获取网站的著作权归属信息》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>