首页 > 解决方案 > HTML 中的 URL 和所需链接的 URL 不相同

问题描述

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

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

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

第一篇文章的个人url为: 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">

标签: htmlurlweb-scrapinghyperlinkhref

解决方案


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

你得到 302 而不是 200 OK。 你得到 302 而不是 200 OK。

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

如果您查看 看标题有效的标题,您会发现有一个。我没有尝试,但我很确定它会起作用。


推荐阅读