Python的requests包在抓取页面的时候页面源代码抓取不完全,页面数据不是动态加载的。

只能抓取到页面开头的部分,后面到结尾都抓不到,怎么回事?
2024年11月20日 08:33
有3个网友回答
网友(1):

您好,首先,sys.setdefaultencoding is evil。
其次,不会用 Requests 就去看文档,不要乱来。
如果 Requests 检测不到正确的编码,那么你告诉它正确的是什么:
response.encoding = 'gbk'
print response.text
原始内容在 response.content 里,bytes,自己想怎么处理就怎么处理。

单个请求完全没必要用 Session。直接 requests.get(xxx) 就可以了。
最后,弄不明白怎么处理编码错误的字符串就仔细想想,或者用 Python 3.x,不要散弹枪编程。
以下是 Python 3。Python 2 在那个字符串前加个 u 告诉它是 unicode 也一样。

网友(2):

不用这么麻烦,直接鼠标点在网页上,右键查看网页源代码,里面如果没有你想要的数据,那就是动态加载了。现在很多页面都只是个架子,数据都是动态加载的,可以直接调试抓取数据接口。

网友(3):

不知道你的网页有多大,建议把上面的文本保存到文件来检查,控制台说不定有滚动和截断