Python:使用bs4解析UNICODE字符



我正在使用bs4构建一个python3网络爬虫/抓取器。每当遇到UNICODE代码字符(如中文符号)时,程序就会崩溃。如何修改我的刮刀,使其支持UNICODE?

这是代码:

import urllib.request
from bs4 import BeautifulSoup
def crawlForData(url):
        r = urllib.request.urlopen(url)
        soup = BeautifulSoup(r.read(),'html.parser')
        result = [i.text.replace('n', ' ').strip() for i in soup.find_all('p')]
        for p in result:
                print(p)
url = 'https://en.wikipedia.org/wiki/Adivasi'
crawlForData(url)

您可以尝试unicode()方法。它对unicode字符串进行解码。

或者一种方法是

content.decode('utf-8','ignore')

其中content是字符串

完整的解决方案可能是:

html = urllib2.urlopen("your url")
content = html.read().decode('utf-8', 'ignore')
soup = BeautifulSoup(content)

最新更新