我正在尝试使用capatcha图像。我在我的本地主机中有一个capatcha.php,它将生成一个图像,该图像将被放入表单中
这是我的python代码,用于获取图像,提取文本并将其发送回表单。最后将生成的表单保存为html。
import os
import requests
p = requests.session()
q = p.get('http://localhost/dhiraagu/Capatcha.php')
with open('data/a.png', 'wb') as f:
f.write(q.content)
os.system("tesseract C:\\Users\\Aiman\\Desktop\\Wataniya\\data\\a.png C:\\Users\\Aiman\\Desktop\\Wataniya\\data\\a")
with open("data\\a.txt") as cap:
capData = cap.read()
print("Capatcha line:"+capData)
num = input("Please enter the number :")
payload = {
'Code': capData,
'q': num
}
url = "http://localhost/dhiraagu/index.php"
r = p.post(url, data=payload)
with open("data\\log.html", "w") as file:
log = file.write(r.text)
但这现在正在发挥作用。我没有在这里看到问题。 :困惑:
修改
我已经通过将代码放在with requests.session() as s:
行中来解决这个问题:D
如果我不发送'标题',会有任何问题吗? ...
答案 0 :(得分:0)
您需要保存Cookie,然后将其发送到服务器。 我有一个获取cookie的例子,但不难扩展它以发送它们:
>>> import urllib.request
>>> import http.cookiejar
>>> cj = http.cookiejar.CookieJar()
>>> opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
>>> urllib.request.install_opener(opener)
>>> reply = urllib.request.urlopen("http://google.com")
>>> for cookie in cj:
... print(cookie)
这是你的饼干:)