Python beautifulsoup4 - PullRequest
       5

Python beautifulsoup4

0 голосов
/ 11 июня 2018

Как утилизировать 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 голосов
/ 11 июня 2018

Для поиска href в конкретном классе prodName для всех элементов li.Вы можете выбрать сначала все элементы li после поиска дочернего элемента a, а затем href в a.

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, а затем выполнить итерации по нему, бросая циклы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...