我正在使用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)发布于 2016-01-05 18:54:45
您可以尝试使用unicode()方法。它解码unicode字符串。
或者一种方法是
content.decode('utf-8','ignore')其中content是您的字符串
完整的解决方案可能是:
html = urllib2.urlopen("your url")
content = html.read().decode('utf-8', 'ignore')
soup = BeautifulSoup(content)https://stackoverflow.com/questions/34609877
复制相似问题