Beautifulsoup を使用して Web ページから URL をスクレイピングしています。一部の 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
。
そこで、このリスト内包表記を 2 つの部分に分けることにしました。
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]
すべてのユニコードタイプを示しました。彼らは同時にそうであるNone
と言っているようです。unicode