登录界面

京东的登录表单设置了许多隐藏字段,如下所示:

隐藏字段

所以都要获取下来。

同样也是输错三次之后出现authcode。

验证码

import requests
from bs4 import BeautifulSoup
import timetry:input = raw_input
except:passclass JDlogin(object):def __init__(self,un,pw):self.headers = {'User-Agent':"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','Accept-Encoding':'gzip, deflate, sdch','Accept-Language':'zh-CN,zh;q=0.8','Connection':'keep-alive',}self.session = requests.session()self.login_url = "http://passport.jd.com/uc/login"self.post_url = "http://passport.jd.com/uc/loginService"self.auth_url = "https://passport.jd.com/uc/showAuthCode"self.un = unself.pw = pwdef get_authcode(self,url):self.headers['Host'] = 'authcode.jd.com'self.headers['Referer'] = 'https://passport.jd.com/uc/login'response = self.session.get(url, headers = self.headers)with open('authcode.jpg','wb') as f:f.write(response.content)authcode = input("plz enter authcode:")return authcodedef get_info(self):'''获取登录相关参数'''try:page = self.session.get(self.login_url, headers = self.headers )soup = BeautifulSoup(page.text,"lxml")input_list = soup.select('.form input')data = {}data['uuid'] = input_list[0]['value']data['eid'] = input_list[4]['value']data['fp'] = input_list[5]['value']data['_t'] = input_list[6]['value']rstr = input_list[7]['name']data[rstr] = input_list[7]['value']acRequired = self.session.post(self.auth_url, data={'loginName':self.un}).text #返回({"verifycode":true})或({"verifycode":false})if 'true' in acRequired:print ('need authcode, plz find it and fill in ')acUrl = soup.select('.form img')[0]['src2']acUrl = 'http:{}&yys={}'.format(acUrl,str(int(time.time()*1000)))authcode = self.get_authcode(acUrl)data['authcode'] = authcodeelse:data['authcode'] = ''except Exception as e:print (e)finally:return datadef login(self):postdata = self.get_info()postdata['loginname'] = self.unpostdata['nloginpwd'] = self.pwpostdata['loginpwd'] = self.pwtry:self.headers['Host'] = 'passport.jd.com'self.headers['Origin'] = 'https://passport.jd.com'self.headers['X-Requested-With'] = 'XMLHttpRequest'login_page = self.session.post(self.post_url, data = postdata, headers = self.headers)print (login_page.text)  #若返回{“success”:”http://www.jd.com”},说明登录成功except Exception as e:print (e)if __name__=="__main__":username = input("plz enter username:")password = input("plz enter password:")JD = JDlogin(username,password)JD.login()

Python模拟登陆 —— 征服验证码 7 京东相关推荐

  1. python过京东app图形验证勾股定理_Python模拟登陆 —— 征服验证码 7 京东

    登录界面 京东的登录表单设置了许多隐藏字段,如下所示: 隐藏字段 所以都要获取下来. 同样也是输错三次之后出现authcode. 验证码 import requests from bs4 import ...

  2. Python模拟登陆 —— 征服验证码 4 果壳

    果壳的特殊之处是有隐藏的随机token令牌, 登录界面 查看源代码: 隐藏的令牌 import sys import os.path import http.cookiejarimport reque ...

  3. python 模拟登录验证码_Python模拟登陆 —— 征服验证码 3 CSDN

    CSDN使用了spring的webflow 这个隐藏参数可以理解成每个需要登录的用户都有一个流水号.只有有了webflow发放的有效的流水号,用户才可以说明是已经进入了webflow流程.否则,没有流 ...

  4. python模拟密码有效性检测功能_Python模拟登陆 —— 征服验证码 3 CSDN-阿里云开发者社区...

    CSDN使用了spring的webflow 这个隐藏参数可以理解成每个需要登录的用户都有一个流水号.只有有了webflow发放的有效的流水号,用户才可以说明是已经进入了webflow流程.否则,没有流 ...

  5. python模拟登陆 验证码el_python 模拟登陆github的示例

    # -*- coding: utf-8 -*- # @Author: CriseLYJ # @Date: 2020-08-14 12:13:11 import re import requests c ...

  6. python模拟登陆 验证码el_python 模拟登陆163邮箱

    import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium ...

  7. Python模拟登陆大连交通大学教务在线

    Python模拟登陆大连交通大学教务在线,使用wxPython做的界面,urllib2发送数据,可以实现登陆后获取首页登陆数据的功能,目前只做登陆,其他的暂时没做 Python2.7代码 # -*- ...

  8. 使用Python模拟登陆12306并全自动下单

    最近一段时间一直在研究用Python模拟登陆12306网站并自动刷票下单,经过一段时间的摸索,终于完成了代码,实现了12306刷票的功能.话不多说,先给大伙儿看看成果.我录制了一段时间,展示了自动刷票 ...

  9. python模拟登陆163邮箱并获取通讯录

    From: http://hi.baidu.com/fc_lamp/blog/item/2466d1096fcc532de8248839.html python模拟登陆163邮箱并获取通讯录 #-*- ...

最新文章

  1. PDF怎么转换成Word,PDF转Word的方法
  2. 【温故知新】CSS学习笔记(字体样式属性)
  3. win7查看某个端口被占用的解决方法
  4. 经典C语言程序100例之三八
  5. radio切换控制div显示_JavaScript连载31图片动态切换以及关闭图片案例
  6. Ollydbg使用教程学习总结(一)
  7. php 分析url函数,PHP 解析URL函数 parse_url()函数
  8. building tool
  9. iOS:给图片置灰色
  10. 自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?
  11. 【福利派送】高质量AI书籍免费送给大家
  12. vue基础之样式绑定(class,style)
  13. 前端点击按钮下载图片
  14. OpenCV一直下载失败,怎么办?
  15. 第一章 WEB应用程序开发流程
  16. 更改项目名后出现Could not resolve type id ** into a subtype的报错
  17. 坚果pro android版本,坚果pro升级安卓10 更新系统Smartisan OSv7.5.0
  18. 第四周作业part1
  19. python练习-跳跃游戏
  20. Java 解析xml 使用SAXReader获取所有标签的key和value的代码实例

热门文章

  1. html2canvas 截图div_H5快照截图[html2canvas]+图片下载
  2. python3性能还低吗_谁说Python性能差的?-- 让python比awk快 (3)
  3. kindEditor富文本编辑器的工具栏设置
  4. 20155303 2016-2017-2 《Java程序设计》第四周学习总结
  5. Java:集合for高级循环遍历
  6. Hiberate--one to many
  7. 查看ubuntu版本
  8. BeanUtils自定义转换器
  9. c# winform 程序打包部署
  10. 自定义repeater带分页功能的DataGrid(仿PetShop)