Python爬取網(wǎng)頁requests亂碼
問題描述
**之前有在裁判文書上爬取數(shù)據(jù),這段時間重新運(yùn)行爬蟲后發(fā)現(xiàn)無法獲取網(wǎng)頁數(shù)據(jù),找了一下發(fā)現(xiàn)requests網(wǎng)頁源碼返回的是亂碼**
(如下截取一部分返回的數(shù)據(jù):<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><meta )不知道是不是網(wǎng)站對網(wǎng)頁內(nèi)容進(jìn)行了加密,請問如何解決這個問題?謝謝!
截取部分程序源碼:
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)
但是在審查元素里返回應(yīng)該返回的數(shù)據(jù),請問這哪里出現(xiàn)了問題?
之前程序正常運(yùn)行時返回的數(shù)據(jù)是這樣的:
問題解答
回答1:ajax 加載的結(jié)果頁面,如果在 network 里獲取不到類似 json 的反饋結(jié)果。就使用PHANTOMJS來模擬加載。然后匹配爬取。
回答2:你的 html 對象使用的編碼不對,加入一行 html.encoding = html.apparent_encoding根據(jù)實(shí)際獲取的 text 推測編碼,重新解碼。
回答3:如果你愿意去鉆,給你個參考地址:http://www.qingpingshan.com/j...
回答4:print html.content
相關(guān)文章:
1. python - django 里自定義的 login 方法,如何使用 login_required()2. python如何不改動文件的情況下修改文件的 修改日期3. angular.js - Angular路由和express路由的組合使用問題4. angular.js - angularjs 用ng-reapt渲染的dom 怎么獲取上面的屬性5. mysql優(yōu)化 - mysql count(id)查詢速度如何優(yōu)化?6. 主從備份 - 跪求mysql 高可用主從方案7. css3 - [CSS] 動畫效果 3D翻轉(zhuǎn)bug8. angular.js - 不適用其他構(gòu)建工具,怎么搭建angular1項目9. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應(yīng)用上有什么區(qū)別?10. node.js - node_moduls太多了
![css3 - [CSS] 動畫效果 3D翻轉(zhuǎn)bug](http://www.cgvv.com.cn/attached/image/news/202304/110831f073.png)