试图从这里清除新冠病毒病例: https://www.cdc.gov/coronavirus/2019-ncov/cases-updates/cases-in-us.html
如果单击地图下方“状态”旁边的“+”,您将看到每个状态的案例数。我希望每个州都有这样的数据帧
Alabama 1841
Alaska 185
American Samoa 0
在我的尝试中,容器是空的
my_url = 'https://www.cdc.gov/coronavirus/2019-ncov/cases-updates/cases-in-us.html'
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div", {"class" : "rt-td"})
我知道我需要循环获取每个州的信息,但我需要帮助基本代码正常工作。这是我第一次尝试拉网;我很确定我使用了错误的标记或findAll参数。我尝试了几种不同的组合,但都没有效果
我发现一位女士做了一件和我想做的相似的事: https://towardsdatascience.com/scrape-cdc-for-covid-19-cases-a162924073ad
但我认为她是一名开发人员,她的技能高于我。必须有一种更简单的方法来实现这一点。对吧?
提前谢谢
是的,这里有更好的方法。数据作为json响应返回。只需拉取json,然后使用pandas对其进行规范化
输出:
要找到它(情况并非总是如此),但您需要转到该站点,右键单击并打开
Inspect
(开发工具)。然后您要在网络中搜索->;XHR。如果为空/空白,则可能需要刷新/重新加载页面然后,您需要搜索/调查以查看您想要的数据是否存在。在本例中,我确实在那里找到了它(如突出显示部分所示:
找到它后,您可以转到
Headers
查找获取数据所需的相关信息/参数对于其他网站来说,这可能会有所不同,有些网站比这更复杂,有些网站根本不起作用。但这是一般的方法
相关问题 更多 >
编程相关推荐