当params包含#anchor tag时,python request.get不获取结果

时间:2017-02-28 17:41:11

标签: python urllib

我已经尝试了很长一段时间了 我的网址有#tag

url = http://www.firstcry.com/search.aspx?q=blue%20jeans#q=@@@@1@0@20@@&gender=Unisex&PageNo=1

当我尝试request.get(url)方法时,它只获取url高达#tag的结果,但实际的url需要时间来完全加载并提供最终结果集(这些结果不同)。

我该如何避免这种情况?

非常感谢。

1 个答案:

答案 0 :(得分:2)

URI的片段部分('#'之后的所有内容)通常由浏览器解释。也就是说,检索到的文档是'#'的所有内容。那是request.get(url)实际加载的内容:带有该URI的单个文件(资源)。

现在,浏览器"做了一些事情"片段 - 滚动到它,最常见。浏览器可以通过javascript对片段做其他事情。

您所看到的是requests听到的内容是{j},该文件包含javascript,在加载时会根据片段获取其他信息。

这与抓取动态HTML没有太大区别,其中抓取的页面加载构建不同DOM的javascript。

您需要使用Selenium之类的内容,或者您​​必须手动解释结果并加载其他网址。