3

特定のページですべてのメールを検索し、正規表現を使用して一致させようとしています。BeautifulSoup を使用してすべてのタグを取得しています

email_re = re.compile('[A-Za-z0-9\.\+_-]+@[A-Za-z0-9\._-]+\.[a-zA-Z]*')

email = soup.findAll("a")
for j in email:
    email = j.string
    for match in email_re.findall(email):
        outfile.write(match + "\n")
        print match

ただし、スクリプトを実行すると、この部分で TypeError: expected string or buffer が発生します。これは、email が Python 文字列ではなく BeautifulSoup オブジェクトであるためだと思います。str() またはstr () を使用して文字列に変換しようとしましたが、どちらも別のエラーを返します: UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 9: ordinal not in range(128 )。これらのエラーを回避し、実際にスクリプトを実行するにはどうすればよいですか。私はアイデアがありません。助けてください!

4

1 に答える 1