Как получить текст и URL по ссылке, используя beautifulsoup - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть следующий код, который распечатывает список ссылок для каждой команды в таблице:

import requests
from bs4 import BeautifulSoup

# Get all teams in Big Sky standings table
URL = 'https://www.espn.com/college-football/standings/_/group/20/view/fcs-i-aa'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
standings = soup.find_all('table', 'Table Table--align-right Table--fixed Table--fixed-left')

for team in standings:
    team_data = team.find_all('span', 'hide-mobile')
    print(team_data)

Код распечатывает весь список, и если я точно укажу индекс, такой как 'print ( team_data [0]) ', она выведет указанную ссылку c со страницы.

Как мне тогда go перейти на эту ссылку и получить строку из URL-адреса, а также текст ссылки?

Например, мой код выводит следующее для первой индекс в списке.

<span class="hide-mobile"><a class="AnchorLink" data-clubhouse-uid="s:20~l:23~t:2692" href="/college-football/team/_/id/2692/weber-state-wildcats" tabindex="0">Weber State Wildcats</a></span>

Как я могу вытащить

/ College-Football / Team / _ / ID / 2692 / Weber-State-Wildcats

и

Weber State Wildcats

по ссылке?

Спасибо за ваше время, и если есть что-то, что я могу добавить для уточнение, пожалуйста, не стесняйтесь спрашивать.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2020

При условии, что у вас есть html как:

<span class="hide-mobile"><a class="AnchorLink" data-clubhouse-uid="s:20~l:23~t:2692" href="/college-football/team/_/id/2692/weber-state-wildcats" tabindex="0">Weber State Wildcats</a></span>

Чтобы получить /college-football/team/_/id/2692/weber-state-wildcats:

>>> team_data.find_all('a')[0]['href']
'/college-football/team/_/id/2692/weber-state-wildcats'

Чтобы получить Weber State Wildcats:

>>> team_data.find_all('a')[0].text
'Weber State Wildcats''
0 голосов
/ 03 февраля 2020

С точки зрения href / url, вы можете сделать что-то вроде this .

Что касается текста ссылки, вы можете сделать что-то вроде this .

Оба означают фильтрацию до целевого элемента, а затем извлечение нужного атрибута.

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