python - Python BSoup提取href文本
问题描述
我正在编写一些 Python 来抓取彩票号码和表格中的其他列。
我遇到的问题是尝试使用 Python 和 BeautifulSoup在接下来的2001 年 1 月提取 2001 年 1 月。
到目前为止我创建的代码
import requests
from bs4 import BeautifulSoup
URL = "https://www.lotterysearch.org/results/2001"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15"
}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
table = soup.find("table", {"style": "width:100%"})
# Get each table row 'tr'
for row in table.find_all("tr"):
cells = row.findAll("td")
# print(row.find("td").find("a"))
draw_year = cells[0].find("a")
draw_date = cells[0].find(text=True)
# draw_date = cells[0].find(text=True)
winning_numbers = cells[1].find(text=True)
jackpot = cells[3].find(text=True)
draw_number = cells[4].find(text=True)
print(draw_year)
打印的结果是
我可以做一些子串来拉出 2001 年 1 月,但我想找到这样做的正确方法。
解决方案
我做了这个快速的改变。请让我知道它是否有帮助。我认为它会打印一个相对 URL,但您可以将它与基本 URL 结合使用。
draw_year = cells[0].find("a", href=True)
if draw_year is not None:
print(draw_year['href'])
推荐阅读
- css - 素材 css 按钮切断图标
- python - 随机森林分类器 Python:ValueError:使用序列设置数组元素
- android - 如何让右上角的图标打开新活动而不是显示项目?
- sql - FormValue 始终是一个空映射
- mysql - 用例 when 和 count into Select
- ruby-on-rails - Rails - 如何向 json 添加自定义属性?
- python - 如何从元组列表中制作 DataFrame
- linux - 只读系统上的 Linux ping 命令
- spring - 如何管理不同环境的 spring-boot 应用程序配置?
- sql - 覆盖 group by 子句中的文本