Python爬取網(wǎng)頁(yè)requests亂碼
問題描述
**之前有在裁判文書上爬取數(shù)據(jù),這段時(shí)間重新運(yùn)行爬蟲后發(fā)現(xiàn)無法獲取網(wǎng)頁(yè)數(shù)據(jù),找了一下發(fā)現(xiàn)requests網(wǎng)頁(yè)源碼返回的是亂碼**
(如下截取一部分返回的數(shù)據(jù):<meta http-equiv='Content-Type' content='text/html; charset=utf-8'><meta )不知道是不是網(wǎng)站對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行了加密,請(qǐng)問如何解決這個(gè)問題?謝謝!
截取部分程序源碼:
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ù),請(qǐng)問這哪里出現(xiàn)了問題?
之前程序正常運(yùn)行時(shí)返回的數(shù)據(jù)是這樣的:
問題解答
回答1:ajax 加載的結(jié)果頁(yè)面,如果在 network 里獲取不到類似 json 的反饋結(jié)果。就使用PHANTOMJS來模擬加載。然后匹配爬取。
回答2:你的 html 對(duì)象使用的編碼不對(duì),加入一行 html.encoding = html.apparent_encoding根據(jù)實(shí)際獲取的 text 推測(cè)編碼,重新解碼。
回答3:如果你愿意去鉆,給你個(gè)參考地址:http://www.qingpingshan.com/j...
回答4:print html.content
相關(guān)文章:
1. windows誤人子弟啊2. php傳對(duì)應(yīng)的id值為什么傳不了啊有木有大神會(huì)的看我下方截圖3. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器4. python - linux 下用wsgifunc 運(yùn)行web.py該如何修改代碼5. 關(guān)于mysql聯(lián)合查詢一對(duì)多的顯示結(jié)果問題6. 實(shí)現(xiàn)bing搜索工具urlAPI提交7. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)8. mysql優(yōu)化 - MySQL如何為配置表建立索引?9. 冒昧問一下,我這php代碼哪里出錯(cuò)了???10. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。
