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. 隨機數 - 有沒有用Python生成n個不重復隨機坐標的算法?2. 學html時,點“運行實例”點“提交”,右邊的白框框沒任何反應。3. python 字符串匹配問題4. javascript - vue 父子組件傳遞數據5. javascript - vue-router怎么不能實現跳轉呢6. docker不顯示端口映射呢?7. javascript - 怎么實現讓 div 里面的 img 元素 中心居中, 如下示例圖8. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下9. javascript - 微信小程序 如何實現這種左滑動出現刪除的辦法?有相關api嗎?10. javascript - 自執行函數是當加載到這個js就執行函數了嗎
