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. javascript - 如何用最快的速度C#或Python開發一個桌面應用程序來訪問我的網站?2. mysql 存儲過程 和 函數有什么用??3. javascript - 看一些高手寫代碼單獨用 “$”和“_” 來表示變量,什么時候單獨使用這兩個字符?4. javascript - 項目用IE瀏覽器打開修改前端內容,后臺數據修改了,但是前端頁面內容不變,用谷歌瀏覽器測試前端頁面可以刷新,求大神解決。5. mysql - jdbc的問題6. android的checkbox在xml添加和在java代碼中添加樣式不一樣?7. 路由 - nginx訪問不了根目錄下的文件怎么解決?8. python - 關于beautifulsoup獲取文檔內容9. 前端 - 使用vue2服務端渲染的時候,如何在服務端請求數據,然后給vue渲染10. java - springMVC配置的controller無法返回jsp文件
