具有动态更改网站的下拉菜单的Web scrape网站(onchange)

2024-09-27 20:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图从一个网站上获取人口普查数据,当从下拉菜单中选择一个县时,该网站会动态变化。看起来像这样:

<select id="cat_id_select_GEO" onchange="changeHeaderSelection('GEO');
<option value="0500000US01001" select="selected">Autaga County, Alabama</option>
<select>

a link

所以从我做的研究来看,听起来我需要提出某种Get请求?(硒?)但我完全不知道该怎么做。我知道如何得到我想要的数据,一旦我选择了县。但我从来没有必要在网站动态变化的地方抓取一些东西(例如,网址没有改变)

我知道有些人可能会觉得这是一个简单的问题。。。我会从指导我的问题和其他类似的例子中受益匪浅。在

到目前为止我一直在搞这个。我可以看出它在选择值方面有点作用。。。但它显示出以下错误:消息:stale element reference:element未附加到页面文档 (会话信息:chrome=74.0.3729.169)

^{pr2}$

我也很想帮助如何然后转换这个网页美丽的汤,这样我可以刮每一页后,选择作出


Tags: 数据idvalue网站elementselectcatgeo
1条回答
网友
1楼 · 发布于 2024-09-27 20:19:47

主登录页获取的请求带有一个查询字符串,该字符串返回一个json字符串,其中包含当您提交查询时首先返回的信息,包括结果页面上列出的进一步url。在

import requests
search_term = 'searchTerm: Autauga County, Alabama'
search_term = search_term.replace(' ','+')
r = requests.get('https://factfinder.census.gov/rest/communityFactsNav/nav?N=0&_t=1558559559868&log=t&searchTerm=term ' + search_term + ',Alabama&src=').json()

这是一个json的例子

我可以生成在浏览器中使用的正确的url,它以json的形式返回所有数据,但似乎无法配置请求。也许其他人可以把这个拿出来解决。我明天再看看。在

^{pr2}$

相关问题 更多 >

    热门问题