此问题在此处已有答案:
Python correct encoding of Website (Beautiful Soup)(4个答案)
8天前关闭。
我有一个代码在Python的请求,也尝试在Python Scrapy。
它返回正确的HTML,但HTML标签内的内容是奇怪的字符,如Á¶¼±°úÇбâ¼úÃÑ·Ã¸Í Áß¾ÓÀ§¿øȸ Á¶¼±ÀÚµ¿ÈÇÐȸ¿Í Á¶¼±ÀÚ¿¬¿¡³
等。
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'en-US,en;q=0.9',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'If-Modified-Since': 'Mon, 22 May 2017 16:51:07 GMT',
'If-None-Match': '"269-5501fad6c02b2-gzip"',
'Referer': 'http://kcna.co.jp/',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36',
}
response = requests.get('http://kcna.co.jp/item2/2001/200107/news07/01.htm#10', headers=headers, verify=False)
resp = HtmlResponse(url='',body=response.text, encoding='utf8')
print(resp.css('p::text').get().encode('utf8').decode('utf8'))
字符串
1条答案
按热度按时间mepcadol1#
内容是韩语,而不是日语。该网站是由朝鲜新闻社东京分支运营的,我相信是朝鲜政府的新闻机构。
页面本身没有声明编码,因此使用HTML 4的默认编码:ISO-8859-1。内容使用EUC-KR编码,这是一种传统的韩语编码。
探索饲料:
字符串
可以看出,数据以EUC-KR编码。
要与您的代码一起使用:
型
resp
在这个阶段应该是一个Unicode字符串。