Python beautifulsoup4

时间:2018-06-11 07:35:40

标签: python beautifulsoup

如何在此类中废弃href而不是所有href。任何人都可以使用beautifulsoup4帮助编写代码。

<div class="grid_4 alpha">
<ul class="prodInfo">
<li class="prodName">
<a title="TravelPro® Crew™ 11 21-Inch Hardside Spinner" 
onclick="javascript:pdpCrossSellProxy('crossSell', 
'Collectionn (pdp)')" href="/store/product/travelpro-reg-crew- 
11-21-inch-hardside-spinner/3316538? 
poc=234711">TravelPro® Crew™ 11 21-Inch Hardside 
Spinner</a></li>

1 个答案:

答案 0 :(得分:0)

为所有li元素在特定类prodName中查找href。在找到子元素a然后在。

中找到href之后,您可以先选择所有li元素
from bs4 import BeautifulSoup
cont = '<div class="grid_4 alpha">\n<ul class="prodInfo">\n<li class="prodName">\n<a title="TravelPro\xc2\xae Crew\xe2\x84\xa2 11 21-Inch Hardside Spinner" \nonclick="javascript:pdpCrossSellProxy(\'crossSell\', \n\'Collectionn (pdp)\')" href="/store/product/travelpro-reg-crew- \n11-21-inch-hardside-spinner/3316538? \npoc=234711">TravelPro\xc2\xae Crew\xe2\x84\xa2 11 21-Inch Hardside \nSpinner</a></li>'
html = BeautifulSoup(cont, 'html.parser')
li = html.find('li',attrs={'class':'prodName'})
a = li.find('a')
href = a["href"]

同样,对于查找多个li,您可以使用find_all,然后迭代它抛出循环。