我一直试图使用python请求模块跳过http://dq.ndc.bsnl.co.in/bsnl-web/residentialSearch.seam上的表单页面。在
我猜问题是表单字段中的AJAX。我真的不知道如何用Python请求发送请求。 我知道这可以通过Selenium实现,但我需要通过请求来完成。在
以下是我当前的代码:
import requests
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0'
}
payload = {
"residential": "residential",
"residential:j_id12": "",
"residential:firstField": 'a',
"residential:criteria1": "3",
"residential:city": "ASIND",
"residential:button1": "residential:button1",
"residential:suggestionBoxId_selection": "",
"javax.faces.ViewState": "j_id1"
}
with requests.Session() as s:
# print s.headers
print s.get('http://dq.ndc.bsnl.co.in/bsnl-web/residentialSearch.seam')
print s.headers
print s.cookies
resp = s.post(
'http://dq.ndc.bsnl.co.in/bsnl-web/residentialSearch.seam',
data=payload, headers=headers)
print resp.text
你已经接近完整的解决方案了。首先,您需要有效负载中的
AJAXREQUEST
来启动搜索,然后按照重定向到第一个结果页面。下一页你会收到更多的请求。唯一的问题是:没有真正的页面结束标记,它会从第一页重新开始。所以我必须查看Page x of y
的内容。在相关问题 更多 >
编程相关推荐