我正在使用 beautifulsoup 从网页中抓取网址。一切都很顺利,直到某些 url 中包含非 ascii 字符。
requests.get('http://www.reddit.com')
soup = BeautifulSoup(req.content)
urls = [i.get('href') for i in soup.findAll('a') if
'keyword' in str(i.get('href'))]
列表推导将返回一个UnicodeError
.
所以我想把这个列表理解分成两部分:
urls = [i.get('href') for i in soup.findAll('a')]
urls = [i.encode('utf-8') for i in urls]
这是我拿到的时候AttributeError
,说是物品NoneType
。
我检查了他们的类型:
print [type(i) for i in urls]
其中显示了所有 unicode 类型。似乎在说他们是None
并且unicode
同时。