【发布时间】:2020-10-21 10:35:17
【问题描述】:
我需要从转储中提取所有链接:
import requests
from bs4 import BeautifulSoup
index = requests.get('https://dumps.wikimedia.org/backup-index.html').text
soup_index = BeautifulSoup(index, 'html.parser')
dumps = [a['href'] for a in soup_index.find_all('a')
if a.has_attr('href') and a.text[:-1].isdigit()]
但是我得到一个空的转储变量。
我做错了什么?
【问题讨论】:
-
可能是因为没有
a.text,它的最后一个字符是数字。 -
@JackFleeting 我该如何解决?这是示例之一'zhwiki'
-
是的,许多
<a>节点都有文本,但文本不以.isdigit()要求的数字结尾。所以没有办法解决这个问题。如果需要,您可以删除条件并打印文本。 -
另外,您的预期输出究竟是什么?
-
@JackFleeting 我正在尝试提取链接
标签: python-3.x beautifulsoup html-parsing list-comprehension