首页 > 解决方案 > 从表格中抓取链接

问题描述

我想从表格中抓取链接及其各自的文本。我计划使用正则表达式来实现这一点。

因此,假设在此页面中我有多个<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?

标签: pythonregexweb-scrapingdata-science

解决方案


我建议你使用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'))

推荐阅读