python请求.get参数包含#锚定标记时不获取结果

2024-04-26 01:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经试了很久了 我的url有#标记

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

当我尝试request.get(url)方法时,它只获取url高达#标记的结果,但实际的url需要时间才能完全加载并给出最终的结果集(这是不同的)。你知道吗

我怎样才能避免这种情况?你知道吗

非常感谢。你知道吗


Tags: 方法标记comhttpurlsearchgetrequest
1条回答
网友
1楼 · 发布于 2024-04-26 01:39:05

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

现在,浏览器然后“做一些事情”与片段滚动到它,最常见的。浏览器可以通过javascript对片段执行其他操作。你知道吗

听起来您看到的是requests获取包含javascript的文件,在加载时,该文件根据片段获取附加信息。你知道吗

这与抓取动态HTML没有太大区别,抓取的页面加载javascript,后者构建不同的DOM。你知道吗

您需要使用类似Selenium的工具,或者您必须手动解释结果并加载其他url。你知道吗

相关问题 更多 >