python爬虫零基础

请问为什么爬出来是乱码呀?是不是应该用utf-8,请问在哪里加呀?谢谢!


import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67'}
ur1 = 'https://s.weibo.com/weibo?q=%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4'
res = requests.get(ur1).text
print(res)

img

因为有中文,所以要把编码设置成 GBK

response = requests.get(ur1)
response.encoding = 'GBK'  # 设置编码为 GBK
print(response.text)

问题点: 抓取的html内容含乱码
分析思路: 在JavaScript中,//后面部分通常是注释信息,不是需要抓取和分析的内容,可以不用理会.

【以下回答由 GPT 生成】

您可以在requests.get(url).text后面加上.encode('utf-8')来指定编码为UTF-8。以下是修改后的代码:

import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67'}
url = 'https://s.weibo.com/weibo?q=%E9%98%BF%E9%87%8C%C5%B7%E5%B7%B4%E5%B7%B4'
res = requests.get(url).text.encode('utf-8')
print(res)

这样就可以将获取到的内容进行UTF-8编码,避免出现乱码问题。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^