Python爬取的网页中文乱码
时间: 2024-01-14 10:04:13 浏览: 88
Python中文乱码详解.rar
在Python爬取的网页中文乱码的原因可能是由于网页编码与解析编码不一致导致的。可以通过以下方法解决:
1.使用chardet库检测网页编码,然后使用正确的编码进行解析。示例代码如下:
```python
import requests
import chardet
from bs4 import BeautifulSoup
url = 'http://www.example.com'
response = requests.get(url)
encoding = chardet.detect(response.content)['encoding']
html = response.content.decode(encoding)
soup = BeautifulSoup(html, 'html.parser')
```
2.手动指定解析编码。如果你知道网页的编码方式,可以手动指定解析编码。示例代码如下:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://www.example.com'
response = requests.get(url)
response.encoding = 'utf-8' # 手动指定解析编码
html = response.text
soup = BeautifulSoup(html, 'html.parser')
```
3.使用自动解码器。如果你不知道网页的编码方式,可以使用自动解码器进行解析。示例代码如下:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://www.example.com'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser', from_encoding='auto')
```
阅读全文