我想抓取“财务报表附注”下的所有内容。我怎样才能做到这一点?这是网页的链接:Please Click
单击链接后,将生成“财务报表附注”下的每个项目。我想获取每个项目的来源并进行解析,例如,“重要会计政策摘要。
谢谢!
已更新:2019-10-22
现在,我的问题归结为如何从以下内容中提取ID(即r9,r10等)。它位于
不是最好的代码。这是我设法做到的:
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])
答案 0 :(得分:2)
您可以使用硒或刮擦 https://selenium-python.readthedocs.io/index.html
方法:
https://selenium-python.readthedocs.io/navigating.html
导航到该链接 单击该html元素-可以通过使用xpath或CSS选择器来完成 获取文字内容
答案 1 :(得分:1)
页面基于该部分中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')])