如何将网页爬取的href链接存入列表对象?
如何将爬取到的所有href链接存入列表
你当前的代码每次循环都会把links变量覆盖为单个链接字符串,循环结束后自然只剩最后一个链接。要存储所有爬取到的链接,需要先初始化一个空列表,再逐个将链接添加到列表中。
修正后的完整代码
from bs4 import BeautifulSoup import urllib.request webUrl = urllib.request.urlopen('http://www.ufcstats.com/statistics/events/completed') print("result code: " + str(webUrl.getcode())) data = webUrl.read() soup = BeautifulSoup(data, 'lxml') # 初始化空列表用于存储链接 links = [] # 遍历所有带href属性的a标签,将每个链接追加到列表 for a_tag in soup.find_all('a', href=True): links.append(a_tag['href']) # 输出所有链接 print(links)
更简洁的写法(列表推导式)
如果想简化代码,也可以用Python的列表推导式直接生成列表:
links = [a_tag['href'] for a_tag in soup.find_all('a', href=True)]
内容的提问来源于stack exchange,提问作者FranB
相关产品推荐
相关产品推荐

