我正在努力从https://www.corporationwiki.com/search/results?term=jim%20smith
获取信息(我只是选择一个随机名称,请不要介意),我想使用下拉菜单过滤结果并选择一个州。
但是,网页未将“状态”作为参数实现,这意味着在选择状态后URL不会更改。
我尝试将params
传递到requests.get()
,结果没有改变。
这是我使用的代码:
url = 'https://www.corporationwiki.com/search/results?term=jim%20smith'
r = requests.get(url, params= dict(
query="web scraping",
page=2, states = 'Maryland'),timeout = 5)
没有错误消息,但是也没有向我显示过滤后的结果。
谁能帮助我传递正确的参数,以便我可以按状态过滤结果?
谢谢:)
答案 0 :(得分:2)
实际上,看起来网站确实将状态作为参数。确切的名称是“ stateFacet”。
您可以将get请求发送至:
https://www.corporationwiki.com/search/withfacets?term=jim%20smith&stateFacet=state_code
只需将state_code
替换为正确的值即可。例如:
https://www.corporationwiki.com/search/withfacets?term=jim%20smith&stateFacet=de
此链接将过滤特拉华州。
答案 1 :(得分:0)
如果端点不支持它,那么您将无法通过URL获得它。您将需要研究更复杂的方法,或者找出正确的URL参数(如果有的话)。
答案 2 :(得分:0)
您将无法处理请求。您可能需要使用类似Selenium之类的东西来模拟单击下拉列表并选择所需的过滤器。这是因为下拉菜单的逻辑全部是JavaScript,无法通过URL请求完成。