使用 python 进行多个类的网页抓取

问题描述 投票:0回答:2

我正在尝试从 HTML 格式的 10K 备案文档中抓取地址:https://www.sec.gov/Archives/edgar/data/1652044/000165204419000032/goog10-qq32019.htm

它有多个div类,我想抓取span内的地址。

预期输出:

1600 露天剧场公园路

我尝试过如下一些方法:

from requests_html import HTMLSession

s = HTMLSession()
r = s.get('https://www.sec.gov/Archives/edgar/data/1652044/000165204419000032/goog10-qq32019.htm')
r

add1 = r.html.find_all('div')
add1

但是,如果你检查页面,它有很多层,我对 HTML 和 python 很陌生。请帮忙

python web-scraping web beautifulsoup edgar
2个回答
0
投票

你可以这样做,但我不确定它是否非常强大,或者是否适用于许多示例,考虑到 ids 的外观......

enter image description here

from requests_html import HTMLSession
from bs4 import BeautifulSoup

session = HTMLSession()
page = session.get('https://www.sec.gov/Archives/edgar/data/1652044/000165204419000032/goog10-qq32019.htm')
soup = BeautifulSoup(page.content, 'html.parser')

content = soup.find(id="d92517213e644-wk-Fact-0B11263160365DBABCF89969352EE602")
print(content.text)

输出

1600 Ampitheatre Parkway

编辑:我没有看到@baduker的回答,我不知道有一个API,他是对的,使用API


0
投票

如果您只想要地址,我建议使用端点提交/例如https://data.sec.gov/submissions/CIK0001318605.json

它有json格式的地址,更容易抓取。

© www.soinside.com 2019 - 2024. All rights reserved.