8-python模拟登入(无验证码)
方式:
1.手动登入,获取cookie
2.使用cookielib库 和 HTTPCookieProcessor处理器
#_*_ coding: utf-8 _*_ '''
Created on 2018年7月13日
@author: sss ''' import urllib.request
import urllib.request
import urllib.parse
import random
import ssl # url = 'https://www.ctguqmx.com/account/ajax/login_process/'
url = "http://www.ctguqmx.com/people/%E4%BD%99%E6%9D%BE" #表示忽视未经核实的ssl证书认证
context = ssl._create_unverified_context() #user-agent列表,每次请求随机选一个:
ua_list = [
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
"Mozilla/5.0 (X11; CrOS i686 2268.111.0)like Gecko",
"Mozilla/5.0 (Macintosh; U; PPC Mac OS X ",
"Mozilla/5.0 (Macintosh; Intel Mac OS "
] user_agent = random.choice(ua_list) headers = {
'User_Agent' : user_agent,
'Cookie': 'mcb__Session=giq2h72grr3643fcobi88el8t4; Hm_lvt_bad1d0a80942d2554f202adea54e0555=1530434463,1530703915,1531411239,1531451926; mcb__user_login=2M7Kkb9knW5lU51m2dae05ejlZ6Vw45dR-3NFgP1gm2Q1cem1bDVqJWQv2SZlZyTmWiVaJWeZ2SbkWRmyZuTZZXHx2XGncyYaWqbnA..; Hm_lpvt_bad1d0a80942d2554f202adea54e0555=1531452044If-Modified-Since: Fri, 13 Jul 2018 03:39:06 GMT'
} formdata = {
"user_name" : "name",
"password" : "password"
}
data = urllib.parse.urlencode(formdata).encode(encoding='utf_8') request = urllib.request.Request(url, headers = headers, data = data) response = urllib.request.urlopen(request, context = context) print(response.read()) print('finish!')
#_*_ coding: utf-8 _*_
'''
Created on 2018年7月14日
@author: sss
function: 用账号登入qmx,爬去个人页面 ''' import urllib
import http.cookiejar #构建一个CookieJar对象实例来保存cookie
cookiejar = http.cookiejar.CookieJar() #使用HTTPCookieProcessor()来创建cookie处理器对象,参数为CookieJar()对象的值
Handler = urllib.request.HTTPCookieProcessor(cookiejar) #构建opener
opener = urllib.request.build_opener(Handler) #addheaders 接受一个列表,里面每个元素都是一个headers信息的元组,opener将附带headers信息
opener.addheaders = [('User-Agent', "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36")] #需要登入密码和账户
data = {
"user_name" : "name",
"password" : "password"
} #data转码
postdata = urllib.parse.urlencode(data).encode(encoding='utf_8') #url
url = 'https://www.ctguqmx.com/account/ajax/login_process/' #构建request请求对象,包含要发送的数据
request = urllib.request.Request(url, data = postdata) #以get方法访问页面访问之后会自动保存cookie到cookiejar中
f = opener.open(request) #网址后面必须要有/ print(f.read().decode('utf-8'))
print('访问登入后界面:') #个人主页的urL
url = 'https://www.ctguqmx.com/people/xxxxxxxx' #x换成自己的 #opener包含用户登入后的cookie值,可以直接访问登入后的页面
response = opener.open(url)
html = response.read() with open('qmx_ys_person.html', 'wb+') as f:
f.write(html)
# print(html)
print('个人界面下载完毕!') response = opener.open('http://210.42.38.26:84/jwc_glxt/Login.aspx?xttc=1')
print('finish!')
8-python模拟登入(无验证码)的更多相关文章
- Python爬虫-尝试使用人工和OCR处理验证码模拟登入
刚开始在网上看别人一直在说知乎登入首页有有倒立的汉字验证码,我打开自己的知乎登入页面,发现只有账号和密码,他们说的倒立的验证码去哪了,后面仔细一想我之前登入过知乎,应该在本地存在cookies,然后我 ...
- vuex存取token,http简单封装、模拟登入权限校验操作、路由懒加载的几种方式、vue单页设置title
1.config index.js下面的跨域代理设置: proxyTable: { '/api': { target: 'http://xxxx', //要访问的后端接口 changeOrigin: ...
- SpringMVC单元测试之MockMVC,模拟登入用户
今天介绍一下springMVC的单元测试,可以参考spring官方文档进行 前提准备,springmvc的demo工程,这里就不做叙述了 pom.xml [html] view plain copy ...
- python模拟艺龙网登录带验证码输入
1.使用urllib与urllib2包 2.使用cookielib自动管理cookie 3.360浏览器F12抓信息 登录请求地址和验证码地址都拿到了如图 # -*- coding: utf-8 -* ...
- python模拟网站登陆-滑动验证码
普通滑动验证 以http://admin.emaotai.cn/login.aspx为例这类验证码只需要我们将滑块拖动指定位置,处理起来比较简单.拖动之前需要先将滚动条滚动到指定元素位置. impor ...
- 模拟登入教务处(header)
import HTMLParser import urlparse import urllib import urllib2 import cookielib import string import ...
- 网络爬虫之requests模块的使用+Github自动登入认证
本篇博客将带领大家梳理爬虫中的requests模块,并结合Github的自动登入验证具体讲解requests模块的参数. 一.引入: 我们先来看如下的例子,初步体验下requests模块的使用: ...
- pyppeteer硬钢掉淘宝登入的滑块验证
完整代码我也不好公布,我可以给你们思路,以及部分代码动动脑子看看文档应该也能搞定 一.初始化Chromium浏览器相关属性 browser = await pyppeteer.launch({'hea ...
- Python爬虫笔记【一】模拟用户访问之提交表单登入—第二次(7)
在第一次登入时遇到这个问题,页面验证码与下载下来需要识别的验证码不同的问题,从网上查寻说是叫验证码同步问题.发现是用cookie解决的,那次cookie介绍到通过cookie就可以实现时间戳同步问题, ...
随机推荐
- python学习之面向对象(下)
该篇主要是针对面向对象的细讲,包括类的多重继承,方法的重写,析构函数,回收机制进行讲解 #该类主要是讲述python面象对象的一些特征,包括继承,方法的重写,多态,垃圾回收 class person( ...
- 记录几个基础的SQL开发题
1. 表A有5行数据,表B有7行数据,问Inner Join最多返回几行数据,Left Join最多返回几行数据,分别在什么情况下? Inner Join 是返回关联表的Cartesian produ ...
- LA3218 Find the Border
题意 PDF 分析 虽然只找外轮廓,但是时间复杂度不比PSLG优秀,所以可以当做联系PSLG的题做. PSLG框架 找出所有交点 交点按序连边 把边按极角序排序 逆时针找圈 然后何以会顺时针找出无限区 ...
- CLR 对比 JVM
首先,CLR和JAVA虚拟机(Java Virtual Machine,简称:JVM)并非一个层面的系统.前者可松散地被描述为just-in-time(JIT)优化编译器和垃圾收集器的混合物,而后者仅 ...
- dubbox下载编译运行demo
最近公司要搞微服务改造,拿了一个小项目开刀,找来找去,还是偏向当当的dubbox作为分布式服务框架.这里介绍下怎么一条龙跑起一个demo. 1.下载代码 因为代码放在github上,所以我们直接用Ec ...
- 让memcached分布式
memcached是应用最广的开源cache产品,它本身不提供分布式的解决方案,我猜想一方面它想尽量保持产品简单高效,另一方面cache的key-value的特性使得让memcached分布式起来比较 ...
- NoSuchBeanDefinitionException: No bean named 'shiroFilter' is defined
以前运行正常的项目,过了一段时间再运行时出问题,打开链接无反应,无法访问Tomcat,空白页面. 经检查发现,在Tomcat log中有报错: NoSuchBeanDefinitionExceptio ...
- 配置MapReduce插件时,弹窗报错org/apache/hadoop/eclipse/preferences/MapReducePreferencePage : Unsupported major.minor version 51.0(Hadoop2.7.3集群部署)
原因: hadoop-eclipse-plugin-2.7.3.jar 编译的jdk版本和eclipse启动使用的jdk版本不一致导致. 解决方案一: 修改myeclipse.ini文件即可解决. ...
- Centos7部署CephFS
标签(空格分隔): ceph环境,ceph,cephfs cephfs部署之前准备工作: 1. 一个 clean+active 的cluster cluster部署参考:centos7下搭建ceph ...
- 源码编译安装ceph
标签(空格分隔): ceph,ceph安装,ceph运维 centos7系统,aarch64架构下安装最新版本的ceph(13.0.0),x86架构的环境无需修改脚本即可. 一,物理环境: 内核版本: ...