私はいくつかの情報(この場合は電話番号)を取得するウェブスクレイパーを作ろうとしています。電話番号を取得するために、ここでは電話番号を検索するために、自己作成してテストした正規表現(RegExrを使用)を使用しています(国番号(米国では+1)、括弧など)。 )BeautifulSoup + HTML + Regex = ...何もありませんか?
regexPhone = re.compile("(\+?1[-.\s]?)?(([0-9]{3}|(\([0-9]{3}\)))[-.\s]?[0-9]{3}[-.\s]?[0-9]{4})|[0-9]{11}|[0-9]{10}|[0-9]{7}")
私はスープのオブジェクトを持っており、そのようにそれを通過:
soup = BeautifulSoup(request.content, "html.parser")
for num in soup.find_all(regexPhone)
print num
をただし、HTMLページ内の電話番号があります私はを知っにもかかわらず、プログラムはしていませんそれを印刷する。これはなぜですか、それを修正するために何ができますか?
バックスラッシュをエスケープするか、生の文字列を使用する必要があります。詳細については、[https://docs.python.org/3/library/re.html](https://docs.python.org/3/library/re.html)をご覧ください。 – Matthias
bsについては忘れて、単にrequest.contentに対して実行してください(おそらくresponse.contentでなければなりません)。 – pguardiario