【问题标题】:URL in HTML and URL for desired link are not the sameHTML 中的 URL 和所需链接的 URL 不相同
【发布时间】:2019-03-08 09:09:14
【问题描述】:

我正在从一个中国学术文章数据库中挖掘一些链接。

当我将页面刷新到我正在查看的文章时,或者只是复制并粘贴一个 url 时,该 url 会重定向到数据库的主页而不是文章。

例如,以下链接转到我的搜索结果: http://search.cnki.net/search.aspx?q=%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD

第一篇文章的个人网址是: http://www.cnki.net/kcms/detail/detail.aspx?dbcode=CJFQ&dbName=CJFQ2016&FileName=KJDB201615009&v=&uid=

但是,如果您尝试直接单击文章链接或刷新文章页面,则会重定向到数据库主页。为什么会这样?有没有办法让这些文章获得一个“稳定”的网址?

虽然我不确定,但可能很重要的一个细节是 HTML 代码中指向各个文章的 url 也不同。

<a href="http://epub.cnki.net/grid2008/brief/detailj.aspx?filename=KJDB201615009&amp;dbname=CJFDLAST2016" target="_blank">

【问题讨论】:

    标签: html url web-scraping hyperlink href


    【解决方案1】:

    这并不取决于你。 您所引用的网站会检查您打开的链接是直接链接还是从同一网站的其他页面打开的。 这可能是为了防止将本网站的链接嵌入其他网站。 简而言之,它不允许直接链接到其文章。 您可以通过检查从请求返回的标头来查看它。

    你得到 302,而不是 200 OK。

    这告诉浏览器重定向到另一个位置。 您可以尝试通过在请求中添加“Referer”标头来欺骗网站。

    如果你看标题 有效,你会看到有一个。 我没有尝试,但我很确定它会起作用。

    【讨论】:

    • 为我的请求添加引用者成功了,非常感谢!
    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 2011-05-21
    • 2020-09-09
    • 1970-01-01
    • 2011-02-12
    • 2013-05-03
    • 2015-12-18
    • 2010-10-06
    相关资源
    最近更新 更多