Я делаю webscraping и есть несколько тегов h4 со списками под каждым тегом.Я хотел бы удалить элементы каждого списка и назначить его идентификатору каждого тега h4.Вот HTML:
<h4 class="dataHeaderWithBorder" id="Production" name="production">Production</h4>
<ul class="simpleList">
<li><a href="/company/co0308?ref_=xtco_co_1">Red Claw </a></li>
<li><a href="/company/co0386?ref_=xtco_co_2">Haven </a></li>
<li><a href="/company/co0487?ref_=xtco_co_3">Frame</a></li>
</ul>
<h4 class="dataHeaderWithBorder" id="Distribution" name="Distribution">Distribution</h4>
<ul class="simpleList">
<li><a href="/company/co0017?ref_=xtco_co_1">Broadside Attractions</a> </li>
<li><a href="/company/co0208?ref_=xtco_co_2"> Global Acquisitions</a></li>
</ul>
Вот как бы я хотел, чтобы данные выглядели так:
Production, Red Claw
Production, Haven
Production, Frame
Distribution, Broadside Attractions
Distribution, Global Acquisitions
Я могу получить все элементы обоих списков, но не могуполучить идентификатор.Мой код выглядит следующим образом:
for h4 in soup.find_all('h4', attrs={'class':'dataHeaderWithBorder'}):
id = h4.get_text()
#print(id)
for ul in h4.find_all('ul', attrs={'class':'simpleList'}):
#print(ul)
# Find the items that mention a budget
productionCompany = ul.find_all('a')
for company in productionCompany:
text = company.get_text()
print(id, text)
productionComps.append(id, text)
Я не могу понять, как получить идентификатор из каждого тега h4.Если я опущу первые две строки и заменим h4.find_all на soup.find_all, мой вывод будет выглядеть следующим образом.
Red Claw
Haven
Frame
Broadside Attractions
Global Acquisition