Python爬取网页requests乱码
问题描述
**之前有在裁判文书上爬取数据,这段时间重新运行爬虫后发现无法获取网页数据,找了一下发现requests网页源码返回的是乱码**
(如下截取一部分返回的数据:<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><meta )不知道是不是网站对网页内容进行了加密,请问如何解决这个问题?谢谢!
截取部分程序源码:
headers = {’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36’,’Accept’: ’text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’,’Accept-Language’: ’zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4’,’Accept-Encoding’: ’gzip, deflate’,’Connection’: ’keep-alive’,’Content-Type’: ’text/html; charset=utf-8’}html = requests.post(’http://wenshu.court.gov.cn/List/ListContent’, data=data, headers=headers)print(html.text)
但是在审查元素里返回应该返回的数据,请问这哪里出现了问题?
之前程序正常运行时返回的数据是这样的:
问题解答
回答1:ajax 加载的结果页面,如果在 network 里获取不到类似 json 的反馈结果。就使用PHANTOMJS来模拟加载。然后匹配爬取。
回答2:你的 html 对象使用的编码不对,加入一行 html.encoding = html.apparent_encoding根据实际获取的 text 推测编码,重新解码。
回答3:如果你愿意去钻,给你个参考地址:http://www.qingpingshan.com/j...
回答4:print html.content
相关文章:
1. linux - 编译安装mysql 5.6.232. angular.js - vue中类似于angular的ng-change的指令是?3. PHP能实现百度网盘的自动化么?4. android - 使用vue.js进行原生开发如何进行Class绑定5. html5 - 在一个页面中 初始了两个swiper 不知道哪里错了 一直不对6. node.js - vue服务端渲染如何部署到线上7. css3 - 请问一下在移动端CSS布局布局中通常需要用到哪些元素,属性?8. 网页爬虫 - python requests爬虫,如何post payload9. node.js - 微信的自动回复问题10. 如何把3个不同的MySQL数据库数据整合到一个MySQL数据库中?
