HTML中的URL和所需链接的URL不相同

时间:2018-10-03 07:28:53

标签: html url web-scraping hyperlink href

我正在研究从中文学术文章数据库中获取一些链接。

当我将页面刷新为正在查看的文章,或者简单地复制并粘贴一个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">

1 个答案:

答案 0 :(得分:0)

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

您将得到302,而不是200。 Instead of 200 OK you get 302.

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

如果您看到标题 look at the header有效,您会发现其中有一个。 我没有尝试,但是我很确定它会起作用。