验证码爬虫
#http://www.ttshitu.com/price.html?spm=null
import base64
import json
import requests
def base64_api(uname, pwd, img):
with open(img, 'rb') as f:
base64_data = base64.b64encode(f.read())
b64 = base64_data.decode()
data = {"username": uname, "password": pwd, "image": b64}
result = json.loads(requests.post("http://api.ttshitu.com/base64", json=data).text)
if result['success']:
return result["data"]["result"]
else:
return result["message"]
return ""
if __name__ == "__main__":
img_path = "q.jpg"
result = base64_api(uname='mj', pwd='919110', img=img_path)
print(result)
url='http://www.renren.com/SysHome.do'
headers = {
'user - agent': "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36",
}
respons=requests.get(url=url,headers=headers).text
etree=HTML(respons)
data=etree.xpath('//*[@id="verifyPic_login"]/@src')[0]
src_data=requests.get(url=data,headers=headers).content
fil='./'+'tu.jpg'
with open(fil,'wb')as f:
f.write(src_data)
def base64_api(uname, pwd, img):
with open(img, 'rb') as f:
base64_data = base64.b64encode(f.read())
b64 = base64_data.decode()
data = {"username": uname, "password": pwd, "image": b64}
result = json.loads(requests.post("http://api.ttshitu.com/base64", json=data).text)
if result['success']:
return result["data"]["result"]
else:
return result["message"]
return ""
img_path = "tu.jpg"
result = base64_api(uname='mj', pwd='919110', img=img_path)
print(result)
url_log='http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2021261213654'
data={
'email': '18291812330',
'icode':result,
'origURL':'http://www.renren.com/home',
'domain':'renren.com',
'key_id': '1',
'captcha_type': 'web_login',
'password': '4959a086b2f7fe02df0f315ca629957d0f1b79acb3a6f3acbe85f19f67c9fe07',
'rkey': 'de885cf0fd905002024944099ca39afb',
'f': 'http%3A%2F%2Fwww.renren.com%2F976372003%2Fnewsfeed%2Fphoto',
}
res=requests.post(url=url_log,data=data,headers=headers).text
print(res)

浙公网安备 33010602011771号