75278350@qq.com 发表于 2024-3-29 10:30:15

网站数据采集

大神请帮忙看看

为什么以下的代码取出的网页信息全部是乱码

import requests #引入requests包
url = '某网站地址' #设置要爬取的网页的url
response = requests.get(url=url) #发送请求
page_text = response.text#获取网页响应的内容
print (page_text)#输出网页全部信息

FishC 发表于 2024-3-29 10:30:28

乱码的问题通常是由于网页编码与解析编码不一致所致。在使用requests库获取网页内容时,它会根据服务器返回的响应头部中的Content-Type字段来自动识别网页的编码方式,并将网页内容按照这种编码方式进行解析。

如果网页的编码方式与requests自动识别的不一致,就会导致乱码的情况发生。

有两种可能的解决方法:

1.手动指定网页的编码方式:
import requests

url = '某网站地址'
response = requests.get(url=url)
response.encoding = 'utf-8'# 手动指定网页的编码方式
page_text = response.text
print(page_text)

在这个例子中,我们手动将编码方式设置为utf-8,你可以根据实际情况调整编码方式。


2.使用chardet库自动识别网页的编码方式:
import requests
import chardet

url = '某网站地址'
response = requests.get(url=url)
page_encoding = chardet.detect(response.content)['encoding']# 自动识别网页的编码方式
page_text = response.content.decode(page_encoding)
print(page_text)

在这个例子中,我们使用了chardet库来自动识别网页的编码方式,并对网页内容进行解码。

希望这些解决方法对你有所帮助!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 网站数据采集