Python爬取網(wǎng)頁requests亂碼
問題描述
**之前有在裁判文書上爬取數(shù)據(jù),這段時(shí)間重新運(yùn)行爬蟲后發(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)容進(jìn)行了加密,請問如何解決這個(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ù),請問這哪里出現(xiàn)了問題?
之前程序正常運(yùn)行時(shí)返回的數(shù)據(jù)是這樣的:
問題解答
回答1:ajax 加載的結(jié)果頁面,如果在 network 里獲取不到類似 json 的反饋結(jié)果。就使用PHANTOMJS來模擬加載。然后匹配爬取。
回答2:你的 html 對象使用的編碼不對,加入一行 html.encoding = html.apparent_encoding根據(jù)實(shí)際獲取的 text 推測編碼,重新解碼。
回答3:如果你愿意去鉆,給你個(gè)參考地址:http://www.qingpingshan.com/j...
回答4:print html.content
相關(guān)文章:
1. vue ajax請求回來的數(shù)據(jù)沒有渲染到頁面2. javascript - node.js中stat() access() open() readFile()都能判斷文件是否存在?3. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處4. 一個(gè)mysql聯(lián)表查詢的問題5. html的qq快捷登錄怎么搞?求個(gè)源碼6. 編程小白 問關(guān)于python當(dāng)中類的方法的參數(shù)問題7. python中def定義的函數(shù)加括號和不加括號的區(qū)別?8. mysql 能不能創(chuàng)建一個(gè) 有列級函數(shù) 的聯(lián)合視圖?9. mysql - select查詢多個(gè)紀(jì)錄的條件怎么寫10. mysql - 求SQL語句:查詢某個(gè)值介于兩個(gè)字段值之間的記錄。
