如何访问一个div中的特定链接?

2024-10-01 07:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试访问这个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/teams/matches/7865/HAVU” (我是python的新手)

teammatch的输出是上面的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'})

这里的目标是将link7分配给'/stats/teams/matches/7865/HAVU'

如果你需要更多的信息,请告诉我


Tags: divdatatopstatslinkcontentfinditem
1条回答
网友
1楼 · 发布于 2024-10-01 07:19:11

可以获取所有<a>元素,并使用get()方法提取href属性。然后从结果列表中获取第二个链接。可以使用列表理解在一行中完成:

link7 = [a.get("href") for a in teammatch[0].find_all("a")][1]

相关问题 更多 >