【发布时间】:2013-03-18 09:18:30
【问题描述】:
我正在使用 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。
【问题讨论】:
标签: python unicode types beautifulsoup