【发布时间】:2019-10-13 16:51:56
【问题描述】:
我正在尝试使用 requests.session 将输入数据发布到表单中,它返回 500 状态。 我期待看到检索到的搜索结果。
在 Bertrand Martel 的帮助下,我能够解决之前使用 __RequestVerificationToken 和 cookie 的登录问题。我过程的下一步是获取我能够成功获取的搜索页面。现在当我尝试将数据发布到构成搜索条件的表单上的日期字段时失败。当我手动填写表格并按提交时工作。一切对我来说似乎都非常简单,但不确定为什么它不起作用。它仍然是cookie问题吗?任何帮助将不胜感激。
这是我的代码:
import requests
from bs4 import BeautifulSoup
EMAIL = 'myemail@gmail.com'
PASSWORD = 'somepwd'
LOGIN_URL = 'https://www.idocmarket.com/Security/LogOn'
SEARCH_URL = 'https://www.idocmarket.com/RIOCO/Document/Search'
s = requests.Session()
s.get(LOGIN_URL)
result = s.post(LOGIN_URL, data = {
"Login.Username": EMAIL,
"Login.Password": PASSWORD
})
soup = BeautifulSoup(result.text, "html.parser")
# Report successful login
print("Login succeeded: ", result.ok)
print("Status code:", result.status_code)
result = s.get(SEARCH_URL)
auth_token = soup.find("input", {'name': '__RequestVerificationToken'}).get('value')
print('auth token:', auth_token )
print("Get Search succeaeded: ", result.ok)
print("get Search Statusa code:", result.status_code)
result = s.post(SEARCH_URL, data = {
"__RequestVerificationToken": auth_token,
"StartRecordDate": "03/01/2019",
"EndRecordDate": "03/31/2019",
"StartDocNumber": "",
"EndDocNumber": "",
"Book": "",
"Page": "",
"Instrument": "",
"InstrumentGroup": "",
"PartyType": "Either",
"PartyMatchType": "Contains",
"PartyName": "",
"Subdivision": "",
"StartLot": "",
"EndLot": "",
"Block": "",
"Section":"",
"Township": "",
"Range": "",
"Legal": "",
"CountyKey": "RIOCO"
})
print("post Dates succeeded: ", result.ok)
print("post Dates Status code:", result.status_code)
print(result.text)
【问题讨论】:
标签: python post web-scraping python-requests