首页 > 解决方案 > 使用 Python 抓取网页时从链接中提取 href

问题描述

我正在从这个页面抓取: https ://www.pro-football-reference.com/years/2018/week_1.htm

这是美式足球比赛得分的列表。我想打开第一场比赛的数据链接。显示的文字为“最终”。到目前为止我的代码...

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup


#assigning url
my_url = "https://www.pro-football-reference.com/years/2018/week_1.htm"

# opening up connection, grabbing the page
raw_page = uReq(my_url)
page_html = raw_page.read()
raw_page.close()

# html parsing
page_soup = soup(page_html,"html.parser")

#find all games on page
games = page_soup.findAll("div",{"class":"game_summary expanded nohover"})

link = games[0].find("td",{"class":"right gamelink"})
print(link)

当我运行它时,我收到以下输出...

<a href="/boxscores/201809060phi.htm">Final</a>

如何仅将链接文本(即“/boxscores/201809060phi.htm”)分配给变量?

标签: pythonhtmlweb-scraping

解决方案


link = games[0].find("td",{"class":"right gamelink"}).find('a')

print(link['href'])

推荐阅读