如何使用美丽的汤刮P标签
问题描述:
我设法用H2/Class/Div标签美丽的汤使用findAll函数刮网站。 (例如soup.findAll('div',{'class':'price'}) 但有一部分网站有P标签,我不知道如何刮。它有以下如何使用美丽的汤刮P标签
上市历史
<p class="top">
<strong>First listed</strong><br>
800 on
我想800,但在div类“边栏SBT”有一样的p类=顶部。 任何帮助,将不胜感激
感谢
网站上的多个条目
答
你可以找到t他p标签就像你使用BeautifulSoup任何其他标签:使用soup.find_all
会产生的ResultSet如果有一个以上的标签
>>> from bs4 import BeautifulSoup as BS
>>> with open('html', 'r') as f:
... soup = BS(f, "lxml")
...
>>> soup.find_all('p', attrs={'class':'top'})
[<p class="top">
<strong>First listed</strong><br/>
800 on
</p>]
。所以,从那里,你会做这样的事情:
>>> p_tags = soup.find_all('p', attrs={'class':'top'})
>>> for tag in p_tags:
... tag.get_text()
...
'\nFirst listed\n 800 on\n'
也许尝试'打印'。加入(soup.p.find( 'BR'))条()分()[0]'的https采用。 ://*.com/a/31959687/1248974 – davedwards
这是行不通的。我不想打印该项目。我想定义它,例如item_a = soup.findAll ... 然后做植物= item_a.get_text 我会如何做上述P标签? – hello11
好吧,对不起,我不明白你到底想要什么。我会再尝试?你想把'soup.find_all'的结果赋给一个变量?或许'item_a = soup.p.find('br') print item_a.get_text()'? \ n''返回'u'\ n 800的文字? – davedwards