Python爬取網(wǎng)頁requests亂碼
問題描述
**之前有在裁判文書上爬取數(shù)據(jù),這段時間重新運行爬蟲后發(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)容進行了加密,請問如何解決這個問題?謝謝!
截取部分程序源碼:
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)了問題?
之前程序正常運行時返回的數(shù)據(jù)是這樣的:
問題解答
回答1:ajax 加載的結(jié)果頁面,如果在 network 里獲取不到類似 json 的反饋結(jié)果。就使用PHANTOMJS來模擬加載。然后匹配爬取。
回答2:你的 html 對象使用的編碼不對,加入一行 html.encoding = html.apparent_encoding根據(jù)實際獲取的 text 推測編碼,重新解碼。
回答3:如果你愿意去鉆,給你個參考地址:http://www.qingpingshan.com/j...
回答4:print html.content
相關(guān)文章:
1. 輸入地址報以下截圖錯誤,怎么辦?2. angular.js - angularJs ngRoute怎么在路由傳遞空字符串及用ng-switch取得3. javascript - ie11以下單擊打開不了file,雙擊可以。求解?4. vim里的高亮javascript的javascript.vim 已經(jīng)放到syntax里了,但是不行。5. html5 - video ios不能播放怎么辦?6. android - xml的drawable作背景,是否會產(chǎn)生錯誤7. python - pip install出現(xiàn)下面圖中的報錯 什么原因?8. node.js - node中MYSQL的異步問題9. javascript - 求助一個關(guān)于indexedDB的問題10. 我何時應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)
