python - 从表格中抓取链接
问题描述
我想从表格中抓取链接及其各自的文本。我计划使用正则表达式来实现这一点。
因此,假设在此页面中我有多个<a href="url_i">text_i</a>
标签。我想将所有 text_i 放入一个列表中,然后将所有 href 放入一个单独的列表中。
我有:
web = requests.get(url)
web_text = web.text
texts = re.findall(r'<table .*><a .*>(.*)</a></table>, web_text)'
正则表达式在任何类的 HTML 表中查找任何类的所有锚标记并返回文本,对吗?这需要非常长的时间。这是正确的方法吗?
另外,我现在如何获取href url?
解决方案
我建议你使用Beautiful Soup来解析表格的 HTML 文本。
改编自Beautiful Soup 的文档,您可以执行以下操作:
from bs4 import BeautifulSoup
soup = BeautifulSoup(web_text, 'html.parser')
for link in soup.find_all('a'):
print(link.get('href'))
推荐阅读
- java - 使用 lambda 会阻碍类型变量的推断
- macos - Spotlight 因 API 滥用而崩溃
- android - 开发应用程序免费和付费版本的正确方法
- linux-kernel - 从函数名中获取所需的头文件名
- javascript - 使用突变观察者跟踪页面中的所有元素
- c# - 从用户控件中的 MainForm 获取 backgroundworker
- microsoft-teams - 呼叫控制实时通知
- python - 在 python 中创建包含 50 个列表的可能方法是什么?
- powershell - 如何将数据导出到 PowerShell 中 csv 文件中的特定列
- docker - .NET Core docker launchSettings.json 中的参数