【发布时间】:2021-01-30 11:24:41
【问题描述】:
我正在尝试使用 BeautifulSoup 和 requests 库从呈现为 HTML 的表格中抓取数据,但我无法获取所有 HTML 代码。
我的代码如下。为简洁起见,我没有包含输出。
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError
url = 'https://www2.susep.gov.br/safe/Corretores/pesquisa.html'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'}
#try:
#Opening
req = Request(url, headers = headers)
#Open url
response = urlopen(req)
#Read HTML
print(response.read())
但代码未能从 HTML 中读取 <main class> 分区。页面上有一个表格存在于尚未阅读的页面中。
【问题讨论】:
-
是JS动态创建的吗?
-
我不能说,我在网络抓取方面还是个新手。你怎么能查到呢?
-
查看页面,看看是否有脚本标签向 DOM 中注入了一些东西。或者查看页面并查看没有 JS 的元素是不可见的,就像您在此处所做的那样。您可以在禁用 JS 的情况下运行该站点并查看元素是否显示。如果数据是通过 AJAX 进入的,您可以查看开发工具中的请求选项卡,找出数据来自的端点在哪里,然后尝试自己点击它以绕过抓取 HTML。
标签: python html url web-scraping beautifulsoup