Python的requests包在抓取页面的时候页面源代码抓取不完全,页面数据不是动态加载的。
3个回答
展开全部
您好,首先,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 也一样。
其次,不会用 Requests 就去看文档,不要乱来。
如果 Requests 检测不到正确的编码,那么你告诉它正确的是什么:
response.encoding = 'gbk'
print response.text
原始内容在 response.content 里,bytes,自己想怎么处理就怎么处理。
单个请求完全没必要用 Session。直接 requests.get(xxx) 就可以了。
最后,弄不明白怎么处理编码错误的字符串就仔细想想,或者用 Python 3.x,不要散弹枪编程。
以下是 Python 3。Python 2 在那个字符串前加个 u 告诉它是 unicode 也一样。
展开全部
不用这么麻烦,直接鼠标点在网页上,右键查看网页源代码,里面如果没有你想要的数据,那就是动态加载了。现在很多页面都只是个架子,数据都是动态加载的,可以直接调试抓取数据接口。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你的网页有多大,建议把上面的文本保存到文件来检查,控制台说不定有滚动和截断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询