gpt4 book ai didi

python - Web Scraper 无法从网站获取完整数据

转载 作者:行者123 更新时间:2023-12-01 07:44:35 30 4
gpt4 key购买 nike

我正在尝试抓取this网站使用 python 为献血营准备数据库。

首先,在尝试从 requests 或 urllib 获取网站 html 源代码时,存在 SSl:certificate_verify_error ,我通过将 requests.get() 的验证参数设置为 False 或为 urllib 创建未经验证的上下文(快速修复)绕过了该错误),这让我克服了错误,但是当我看到检索到的源 html 代码时,我需要的表内容是空的,在网站源中它们包含在 tbody 标记中,但我的 requests.get() 命令只获取这些标签而不是它们之间的内容。我对抓取非常陌生,希望得到一些指导。泰

from urllib.request import urlopen as uReq
import ssl
from bs4 import BeautifulSoup as soup

my_url = 'https://www.eraktkosh.in/BLDAHIMS/bloodbank/campSchedule.cnt'
sp_context = ssl._create_unverified_context()
uClient = uReq(my_url,context=sp_context)
page_html = uClient.read()
uClient.close()
page_soup=soup(page_html,"html.parser")
table = page_soup.find('tbody')
print (table) #this outputs "<tbody></tbody>"
trow = table.find('tr')
print (trow) #this outputs "None"


第一个打印命令给出

<tbody>
</tbody>

和第二个输出

None 

最佳答案

之所以如此,是因为第一个请求返回了一个几乎空的 html 脚手架。

您在页面上看到的数据正在由后续的 ajax 请求填充。准确地说是这个https://www.eraktkosh.in/BLDAHIMS/bloodbank/nearbyBB.cnt?hmode=GETNEARBYCAMPS&stateCode=-1&districtCode=-1&_=1560150852947

您可以通过右键单击 -> 检查 -> 网络选项卡并重新加载页面来检索此信息。

意见:从此页面提取信息不需要 BeautifulSoup。可以通过上述 API 以 json 格式轻松获取数据。

希望这有帮助。

关于python - Web Scraper 无法从网站获取完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56521995/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com