如何从bs4.element.ResultSet中提取含/Company的特定元素?
提取包含"/Company"的链接路径
方法1:查找标签时直接过滤
借助BeautifulSoup的属性匹配能力,结合正则表达式直接筛选出href以/Company开头的<a>标签,再提取路径:
from bs4 import BeautifulSoup import requests import re CompanyNOT = "apple" url = "https://www.annualreports.com/Companies?search=" page_to_scrape = requests.get(url+CompanyNOT) soup = BeautifulSoup(page_to_scrape.content,"html.parser") # 匹配href以/Company开头的a标签 company_tags = soup.find_all('a', href=re.compile(r'^/Company')) # 提取所有符合条件的href值 company_paths = [tag['href'] for tag in company_tags] print(company_paths)
方法2:遍历已获取的结果集筛选
如果你已经拿到了所有带href的<a>标签(即代码里的urls变量),可以直接遍历筛选:
# 基于你已有的urls变量 company_paths = [link['href'] for link in urls if '/Company' in link['href']] print(company_paths)
两种方法最终都会输出你期望的结果:['/Company/apple-hospitality-reit-inc', '/Company/apple-inc', '/Company/maui-land-pineapple-co-inc', '/Company/pineapple-energy-inc']
内容的提问来源于stack exchange,提问作者Hanuman Rajagopal
相关产品推荐
相关产品推荐

