请问为什么爬出来是乱码呀?是不是应该用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)
因为有中文,所以要把编码设置成 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编码,避免出现乱码问题。
【相关推荐】