**Ich habe zuvor Daten aus Schiedsrichterdokumenten gecrawlt. Nachdem ich den Crawler in diesem Zeitraum erneut ausgeführt hatte, stellte ich fest, dass die Webseitendaten nicht abgerufen werden konnten.
Bei der Suche stellte ich fest, dass der Quellcode der Anforderungswebseite verstümmelt zurückgegeben wurde Code**
(Fangen Sie einen Teil der zurückgegebenen Daten wie folgt ab:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta id="JLyKZlWgYjpTkAsEt9LnA" )
Ich weiß nicht, ob die Website den Webinhalt verschlüsselt hat. Wie kann ich dieses Problem lösen? Danke!
Einen Teil des Programmquellcodes abfangen:
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)
Aber die Daten, die zurückgegeben werden sollen, werden im Bewertungselement zurückgegeben. Was ist hier das Problem?
Die zurückgegebenen Daten waren bei normaler Ausführung des Programms wie folgt:
ajax 加载的结果页面,如果在 network 里获取不到类似 json 的反馈结果。就使用PHANTOMJS来模拟加载。然后匹配爬取。
你的 html 对象使用的编码不对,
加入一行 html.encoding = html.apparent_encoding
根据实际获取的 text 推测编码,重新解码。
如果你愿意去钻,给你个参考地址:http://www.qingpingshan.com/j...
print html.content