【发布时间】:2021-11-07 12:18:43
【问题描述】:
我正在从site 中抓取数据,我想从 Selected Filings 部分下的可折叠内容中提取标签超链接数据。在我的代码中,我使用 find_all() [divs] 和 selected-filings-annualOrQuarterly 的 [id],首先选择它们所在的 div。
from bs4 import BeautifulSoup
import requests
r = requests.get("https://www.sec.gov/edgar/browse/?CIK=0001084869", headers={'user-agent': 'Mozilla/5.0'}) soup = BeautifulSoup(r.content, 'html.parser')
print(r.status_code)
print(r.url)
for div_tag in soup.find_all('div', {"id" : "selected-filings-annualOrQuarterly"}):
print(div_tag)
for ul_tag in div_tag.find_all('ul'):
print(i)
for li_tag in ul_tag.find_all('li'):
print(li_tag)
for a_tag in li_tag.find_all('a', href=True):
print(a_tag)
这些是我得到的结果:
200
https://www.sec.gov/edgar/browse/?CIK=0001084869
-
该公司去年没有提交 10-K/10-Q 文件
天
每当我运行上述代码时,我只会在 [div - id] 中获取 [span] 元素,仅此而已。 我真正想要的是获取指定 [div] 元素中存在的所有链接(标签),在 [li] [ul] 元素内。当我查看该网站的页面源时,一切都在那里。但是代码甚至不返回 [div] 内的 [ul] 和 [li] 标签。似乎它们是隐藏的。这是 a 标签超链接的顺序和位置。 id(上面指定) > ul > li > a(要抓取的链接)
我预期的结果:
根据找到的链接数量,返回的链接数量会有所不同。我怎样才能获得所述位置内的超链接?
【问题讨论】:
-
您到底想检索什么?例如,公司所有 10-K 文件的 url?
-
是的@Jack Fleeting。我要检索的是最近的 10-k、10-Q 或 8-K 的链接/网址。此代码将每天运行并查找最近/更新的信息。
标签: python web-scraping beautifulsoup