我使用请求访问这个webpage,然后用漂亮的汤解析和检查HTML。在
此页允许用户指定过去应返回结果的天数。这可以通过页面上的表单完成:
当我在浏览器中选择365天提交请求并检查响应时,我发现此表单数据与请求一起发送:
值得注意的是表格数据“dnf_class_values[purchasing_notice][u posted_date]:365”,因为这是唯一与我选择的365天相对应的元素。在
当这个请求在浏览器中返回时,我得到的结果是n结果,其中n是可能的最大数量,因为这是可能的最大时间段。n在标记中显示为。在
我似乎无法复制发送表单数据的请求。以下是我代码的相关部分:import requests
from bs4 import BeautifulSoup as bs
formData = {'dnf_class_values[procurement_notice][_posted_date]':'365'}
r = requests.post("https://www.fbo.gov/index?s=opportunity&mode=list&tab=list&tabmode=list&pp=20&pageID=1", data = formData)
s = bs(r.content)
s.find('span',{'class':'lst-cnt'})
这将返回与提交表单时相同的结果数,并使用天数的默认值。在
我尝试过对data中的键进行URL编码,以及使用requests.get,并指定params,而不是{}。此外,我还尝试将表单数据字段追加为查询字符串参数:
^{pr2}$
该请求的适当语法是什么?在