Python爬取網(wǎng)頁(yè)requests亂碼
問(wèn)題描述
**之前有在裁判文書(shū)上爬取數(shù)據(jù),這段時(shí)間重新運(yùn)行爬蟲(chóng)后發(fā)現(xiàn)無(wú)法獲取網(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)問(wèn)如何解決這個(gè)問(wè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ù),請(qǐng)問(wèn)這哪里出現(xiàn)了問(wèn)題?
之前程序正常運(yùn)行時(shí)返回的數(shù)據(jù)是這樣的:
問(wèn)題解答
回答1:ajax 加載的結(jié)果頁(yè)面,如果在 network 里獲取不到類似 json 的反饋結(jié)果。就使用PHANTOMJS來(lái)模擬加載。然后匹配爬取。
回答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. javascript - 為什么會(huì)打印兩次啊?2. 引入traits后,為什么index得是空的呢?3. gulp-ruby-sass編譯出來(lái)的文件有錯(cuò)4. javascript - 如何在NW.JS中使用Node自動(dòng)重啟進(jìn)程?5. dockerfile - docker-compose啟動(dòng)lnmp失敗?6. python - 在github上看到一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)提高圖片分辨率的小項(xiàng)目waifu2x??7. python - 為什么寫(xiě)了換行語(yǔ)句,結(jié)果還是沒(méi)有換行?8. python - 如何1次執(zhí)行多條SQL語(yǔ)句9. python算法,如何優(yōu)雅的合并2個(gè)列表字典?10. 各位python爬蟲(chóng)大牛看過(guò)來(lái),這個(gè)網(wǎng)站的反爬蟲(chóng)怎么處理
