|
豆瓣登录
关于豆瓣登录,从网站分析入手
图1
图2
图3
图4
分析完开始写代码
import requests
from copyheaders import headers_raw_to_dict
import re
from PIL import Image
session = request.Session()
headers = headers_raw_to_dict(b"""Accept:image/webp,image/apng,image/*,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.9
Connection:keep-alive
Cookie:bid=d8Mfqyd9R44; ll="118124"; gr_user_id=d5043752-8950-4aca-b1b1-db54ab444e3b; _vwo_uuid_v2=F91C24C9D31DADD1995D2491D51945C1|af04cd7cd768eb6f82e72bd60f540603; __yadk_uid=rct0VwmTyu3rBqMorDrc66iYz5ZpYRKi; _ga=GA1.2.706020112.1513727806; ps=y; push_noty_num=0; push_doumail_num=0; __utmv=30149280.17262; ap=1; __utmz=30149280.1522575632.5.5.utmcsr=so.com|utmccn=(organic)|utmcmd=organic|utmctr=douba; _pk_ref.100001.8cb4=%5B%22%22%2C%22%22%2C1522830643%2C%22https%3A%2F%2Fwww.so.com%2Fs%3Fq%3D%25E8%25B1%2586%25E7%2593%25A3%26src%3Dsrp%26fr%3Dlm%26psid%3D6774dc6607bac6cc171b10f7887b03b9%26ls%3Dsm2185851%26lm_extend%3Dctype%253A31%22%5D; _pk_ses.100001.8cb4=*; __utma=30149280.706020112.1513727806.1522575632.1522830646.6; __utmc=30149280; _gid=GA1.2.1923349615.1522830646; ct=y; _pk_id.100001.8cb4=e4858d10d0ca5582.1513754751.14.1522832070.1522575849.; __utmt=1; __utmb=30149280.9.10.1522830646; as="https://www.douban.com/"
Host:www.douban.com
Referer:https://www.douban.com/accounts/login
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36""")
session.headers.update(headers)
data={
'source':'index_nav',
'form_email':'你的账号',
'form_password':'你的密码',
'login':'登录'
}
data = session.post(url = "https://accounts.douban.com/login",data = data)
pattern=re.compile(r' name="captcha-id" value="(.*?)"')
if pattern:
message=pattern.findall(message1.text)[0]
print(message)
data['captcha-id']=message
capture=session.get(url='https://www.douban.com/misc/captcha?id={}&size=s'.format(message))
'https://www.douban.com/misc/captcha?id=SKtAQrcHMiDG1FArMzyVOM1x:en&size=s'
'https://www.douban.com/misc/captcha?id=euFt1qRlEbfWGVyGO0h5oKu2:en&size=s'
with open('capture.jpg','wb')as f:
f.write(capture.content)
image=Image.open('capture.jpg')
image.show()
data['captcha-solution']=input('输入验证码')
print(data)
data=session.post(url='https://accounts.douban.com/login',data=data)
print(data.text)
else:
print(message1.text)
通过此代码就可登录豆瓣,以后有时间的话可能会学一下验证码自动识别功能,希望采纳 |