Python 在BeautifulSoup中提取多个Span标记中的内容
我试图从多个span标记中提取字符串内容。HTML页面的快照是:Python 在BeautifulSoup中提取多个Span标记中的内容,python,html,css,web-scraping,beautifulsoup,Python,Html,Css,Web Scraping,Beautifulsoup,我试图从多个span标记中提取字符串内容。HTML页面的快照是: <div class="secondary-attributes"> <span class="neighborhood-str-list"> Southeast </span> <address> 1234 Python Blvd S<br>Somewhere, NV 98765 </address&
<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">\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>']
['\n(702)476-5050\n','\n(702)253-7296\n','<
span class=“biz phone”>\n(702)385-7912\n'、“\n(702)776-7061\n'、“\n(702)221-7296\n'、“\n(702)252-7296\n'、“\n(702)659-9101\n'、”\n(702)355-9445\n'、“\n(702)396-3333\n'、“\n(702)643-9851\n'、“\n(702)222-1441\n']
我的问题分为两部分:
span
标记(555)123-4567
代码实例(即更多电话号码),因此我考虑使用find_all()
先谢谢你
bs4.element.Tag
),而不是字符串text
属性,以提取标记中的文本:
phone\u number\u结果=[phone\u numbers.text.strip()
查找汤中的电话号码。查找所有('span','biz phone')]
(你可能还想打电话给
strip()
)使用电话号码。text
甚至电话号码。text.strip()
谢谢@furas,这就成功了!谢谢你,.text
成功了!我不知道这个属性——我尝试了其他一些属性(例如,.contents
),但似乎没有帮助。不过,你的解决方案奏效了。
['<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>']