【发布时间】:2021-10-28 06:28:04
【问题描述】:
我正在尝试使用 python 和请求库对该 URL 发出正确的获取请求,并应用一些过滤器:
https://www.efast.dol.gov/5500search/
我只需要一些过滤器来在搜索页面中获取正确的数据,它们是:planyear、ein 和 pn。当我尝试执行请求时,我得到了错误的数据,因为我的 dict 在“q”之后得到了一个已删除的值
这是一个例子:
import requests
args = {'q.parser': 'lucene', 'q': {'ein': '814699012', 'planyear': '2020', 'pn': '001'}}
url = "https://www.efast.dol.gov/services/afs"
response = requests.get(url, params=args)
当我检查 response.url 时,我得到:
https://www.efast.dol.gov/services/afs?q.parser=lucene&q=ein&q=planyear&q=pn
每个键都没有价值
这是我最近的一次:
args = {"q.parser":"lucene","q":{"ein":"814699012"}, "planyear":"2020","pn":"001"}
但是如果我做 response.url 我得到:
'https://www.efast.dol.gov/services/afs?q.parser=lucene&q=ein&planyear=2020&pn=001
ein值没了,不管我把planyear或者pn作为值放在q旁边,结果都是一样的。
我做错了什么?
正确的结果是2020年对应的数据,正确的ein数和pn数,我得到几个结果还是一个都没关系
正确的结果是这样的:
https://www.efast.dol.gov/services/afs?q.parser=lucene&size=200&sort=planname%20asc&q=(((planyear:2020))%20AND%20((ein:814699012))%20AND%20((pn:001)))&facet.planyear=%7Bsize:30%7D%26facet.plancode=%7Bsize:100%7D&facet.plancode=%7Bsize:100%7D&facet.assetseoy=%7Bbuckets:%5B%22%7B,100000%5D%22,%22%5B100001,500000%5D%22,%22%5B500001,1000000%5D%22,%22%5B1000001,10000000%5D%22,%22%5B10000001,%7D%22%5D%7D&facet.plantype=%7Bsize:20%7D&facet.businesscodecat=%7Bsize:30%7D&facet.businesscode=%7Bsize:30%7D&facet.state=%7Bsize:100%7D&facet.countrycode=%7Bbuckets:%5B%22CA%22,%22GB%22,%22BM%22,%22KY%22%5D%7D&facet.formyear=%7Bsize:30%7D
【问题讨论】:
标签: python python-3.x web-scraping python-requests