我需要将对captcha的响应发送到站点https://www.list-org.com/bot.
以下是POST请求的html代码:
<form name="frm" method="POST">Вы слишком часто обращались к сайту и мы хотим убедиться, что вы не робот.<br>Повторите текст на картинке и сможете дальше работать:<br><br><img src="/kcap.php?PHPSESSID=iahvgmjcb93a0k7fqrf43sq9sk"><br><br><input type="text" name="keystring" autofocus=""><br><br><input type="submit" value=" Проверить! " name="submit"></form>enter code here
这是表征响应输入字段的代码部分:
<input type="text" name="keystring" autofocus="">
这是表征按钮的代码部分:
<input type="submit" value=" Проверить! " name="submit">
如何使用urlib或请求库填写响应字段并单击按钮?
附言:如有必要,我可以翻译俄语信息:(
您可以使用以下示例向站点发送POST请求:
import requests
url = 'https://www.list-org.com/bot'
headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0'}
data = {
'keystring': 'xxx', # <--- put your string here
'submit': '+Проверить!+'
}
with requests.session() as s:
# load PHPSESSID cookie:
s.get(url, headers=headers)
r = s.post(url, headers=headers, data=data)
print(r.text) # print response
您可以使用请求模块来实现这一点,该模块为web请求提供了一个易于使用且令人愉快的API。
如果你想模仿你的网络浏览器,我建议你打开浏览器开发者控制台的网络选项卡进行请求。从那里,在列表中找到请求,右键单击它,然后选择复制->复制为cURL。
从那里,您将有必要的cURL命令来模拟请求。但是,有一个实用程序可以将cURL命令转换为请求的代码:https://curl.trillworks.com/
该工具将输出使用Python请求库发出请求所需的代码。