Поиск ссылок в bs4.element.Tag - PullRequest
0 голосов
/ 05 марта 2019

Я извлек ссылки, которые я хочу с этим:

link_soup = soup.find_all('ul', 'pagination')

, но теперь я не могу использовать link_soup[0].find_all('a')['href'], если я использую link_soup[0].find('a')['href']

, он показывает только первую ссылку, котораяне то, что я хочу.Как мне получить все ссылки, возвращенные в списке?

Фрагмент ниже:

<ul class="pagination">
<li><a href="link">&lt;&lt;</a></li>
<li><a href="link">&lt;</a></li>
<li class="hidden-xs"><a href="link">1</a></li>
<li class="hidden-xs active"><a href="link">2</a></li>
<li class="hidden-xs"><a href="link">3</a></li>
<li class="hidden-xs"><a href="link">4</a></li>
<li class="hidden-xs"><a href="link">5</a></li>
<li><a href="link"> &gt;</a></li>
<li><a href="link"> &gt;&gt;</a></li>
</ul>

1 Ответ

0 голосов
/ 05 марта 2019

Сначала вам нужно найти тег parent, используя find, а затем все child, используя find_all. Надеюсь, это поможет

from bs4 import BeautifulSoup
html="""<html><ul class="pagination">
<li><a href="link">&lt;&lt;</a></li>
<li><a href="link">&lt;</a></li>
<li class="hidden-xs"><a href="link">1</a></li>
<li class="hidden-xs active"><a href="link">2</a></li>
<li class="hidden-xs"><a href="link">3</a></li>
<li class="hidden-xs"><a href="link">4</a></li>
<li class="hidden-xs"><a href="link">5</a></li>
<li><a href="link"> &gt;</a></li>
<li><a href="link"> &gt;&gt;</a></li>
</ul></html>"""

soup=BeautifulSoup(html,"html.parser")
ul=soup.find('ul')
for a in ul.find_all('a'):
  print(a['href'])

Вывод:

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