js提取指定网站内容(我想刮掉“财务报表注释”下的所有内容。我怎样才能做到这一点? )

优采云 发布时间: 2022-01-28 16:15

  js提取指定网站内容(我想刮掉“财务报表注释”下的所有内容。我怎样才能做到这一点?

)

  我想刮掉“财务报表注释”下的所有内容。我怎样才能做到这一点?这是网页的链接:

  这是屏幕截图:

  

  “财务报表附注”下的每个项目都是由我单击链接生成的。我想获取每个项目的来源并对其进行解析,例如“重要会计政策摘要。

  谢谢!

  更新时间:2019-10-22

  现在我的问题归结为如何从以下(即 r9、r10 等)中提取 ID。它是其中之一

  s 其类 = "手风琴"。中有一个 href="#" 。

  不是最好的代码。这就是我设法做到的方式:

   lis = soup.select("li.accordion")

notes = [str(li) for li in lis if "menu_cat3" in str(li)]

ids = re.findall(r'id="(r\d+)"', notes[0])

  

  解决方案

  该页面根据该部分中 lis 的 ID 发出请求。采集 id,转换为大写并发出相同的请求。需要 bs4 4.7.1+

  from bs4 import BeautifulSoup as bs

import requests

with requests.Session() as s:

s.headers = {'User-Agent':'Mozilla/5.0'}

r = s.get('https://www.sec.gov/cgi-bin/viewer?action=view&cik=320193&accession_number=0000320193-18-000145&xbrl_type=v#')

soup = bs(r.content, 'lxml')

urls = [f'https://www.sec.gov/Archives/edgar/data/320193/000032019318000145/{i["id"].upper()}.htm' for i in soup.select('li:has(#menu_cat3) .accordion')]

for url in urls:

r = s.get(url)

soup = bs(r.content, 'lxml')

print([i.text for i in soup.select('font')])

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线