複数のスパンタグから、または複数のスパンタグ内に文字列コンテンツを抽出しようとしています。 HTMLページのスナップショットは、次のとおりです。具体的にBeautifulSoupの複数のスパンタグ内でコンテンツを抽出する
<div class="secondary-attributes">
<span class="neighborhood-str-list">
Southeast
</span>
<address>
1234 Python Blvd S<br>Somewhere, NV 98765
</address>
<span class="biz-phone">
(555) 123-4567
</span>
</div>
、私は<span class="biz-phone></span>
タグの間に囲まれた電話番号を抽出しようとしています。私は、次のコードでそうしようとしました
import requests
from bs4 import BeautifulSoup
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
phone_number_results = [phone_numbers for phone_numbers in soup.find_all('span','biz-phone')]
構文エラーなしでコンパイルされたコードが、それは非常に私が望んでいた結果得られませんでした:私の質問はあり
['<span class="biz-phone">\n (702) 476-5050\n </span>', '<span class="biz-phone">\n (702) 253-7296\n </span>', '<
span class="biz-phone">\n (702) 385-7912\n </span>', '<span class="biz-phone">\n (702) 776-7061\n </span>', '<spa
n class="biz-phone">\n (702) 221-7296\n </span>', '<span class="biz-phone">\n (702) 252-7296\n </span>', '<span c
lass="biz-phone">\n (702) 659-9101\n </span>', '<span class="biz-phone">\n (702) 355-9445\n </span>', '<span clas
s="biz-phone">\n (702) 396-3333\n </span>', '<span class="biz-phone">\n (702) 643-9851\n </span>', '<span class="
biz-phone">\n (702) 222-1441\n </span>']
を2つの部分:
- 私はプログラムを実行すると、なぜ
span
タグが表示されますか? - どうすれば削除できますか?私は文字列の編集だけでもできますが、BeautifulSoupパッケージをフルに活用していないような気がします。よりエレガントな方法がありますか?
注:ページ全体で上記のようなHTMLコードのスニペットがあります。 <span class="biz-phone"> (555) 123-4567 </span>
コードのインスタンス(抽出する必要がある電話番号)が多いため、find_all()
を使用する理由を考えていました。
ありがとうございます。
'phone_numbers.text'または' phone_numbers.text.strip() 'を使用 – furas
@furasありがとう、それはトリックでした! – daOnlyBG