Как получить доступ к конкретным ссылкам в одном div? - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь получить доступ ко второй ссылке в этом div (div имеет многочисленные ссылки внутри него):

[<div class="tabs standard-box"><a class="stats-top-menu-item stats-top-menu-item-link" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Overview [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/7865/HAVU">Overview</a><a class="stats-top-menu-item stats-top-menu-item-link selected" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Matches [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/matches/7865/HAVU">Matches</a><a class="stats-top-menu-item stats-top-menu-item-link" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Maps [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/maps/7865/HAVU">Maps</a><a class="stats-top-menu-item stats-top-menu-item-link" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Players [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/players/7865/HAVU">Players</a><a class="stats-top-menu-item stats-top-menu-item-link" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Event history [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/events/7865/HAVU">Event history</a><a class="stats-top-menu-item stats-top-menu-item-link" data-link-tracking-column="[Main content]" data-link-tracking-destination="Click on Lineups [subnavigation]" data-link-tracking-page="Matchstats" href="/stats/teams/lineups/7865/HAVU">Lineups</a></div>]

Я пробовал многочисленные методы, но не могу получить к ним доступ. Пытаясь получить доступ к "/ stats / команды / matchs / 7865 / HAVU" (я новичок в Python)

вывод командыmatch - div выше.

Я пробовал следующее:

  • find_all('a')['href']
  • find({'class':'stats-top-menu-item stats-top-menu-item-link')
r = soup.find_all('div',{'class':'tab-content '},{'id':'TODAY'})

for result in r[1:]:
    tournament = result.find_all('div',{'class':'ongoing-event-holder'})
    link = tournament.find('a')['href']

link2 = requests.get('https://www.hltv.org' + link, headers=headers)
soup2 = BeautifulSoup(link2.text,'html.parser')
team = soup2.find_all('div',{'class':'groups'})
for result1 in team:
    team1 = result1.find('div',{'class':'text-ellipsis'})
    link3 = team1.find('a')['href']

link4 = requests.get('https://www.hltv.org' + link3, headers=headers)
x = ('https://www.hltv.org' + link3) + str('#tab-statsBox')
link5 = requests.get(x, headers=headers)
soup3 = BeautifulSoup(link5.text, 'html.parser')
team_stats = soup3.find_all('div',{'class':'moreButton-container'})
for result2 in team_stats:
    teamstatlink = result2.find('a')['href']

link6 = requests.get('https://www.hltv.org' + teamstatlink, headers=headers)
soup4 = BeautifulSoup(link6.text, 'html.parser')
team_matches = soup4.find_all('div',{'class':'stats-top-menu'})
for result3 in team_matches:
    teammatch = result3.find_all('div',{'class':'tabs standard-box'})

цель здесь состоит в том, чтобы назначить ссылку 7 на '/ stats / команды / matchs / 7865 /HAVU '

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 22 октября 2019

вы можете получить все элементы <a> и извлечь атрибут href, используя метод get(). затем получите вторую ссылку из списка результатов. это можно сделать одной строкой, используя понимание списка:

link7 = [a.get("href") for a in teammatch[0].find_all("a")][1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...