python用户名和密码登录_Python爬虫带用户名密码登录
# -*- coding: utf-8 -*-
"""
Created on Wed Jun 6 13:18:58 2018
@author: Lenovo
"""
# -*- coding: utf-8 -*-
import requests
import urllib
import random
from datetime import datetime
# python2 和 python3的兼容代码
try:
# python2 中
import cookielib
print(f"user cookielib in python2.")
except:
# python3 中
import http.cookiejar as cookielib
print(f"user cookielib in python3.")
# session代表某一次连接
huihuSession = requests.session()
# 因为原始的session.cookies 没有save()方法,所以需要用到cookielib中的方法LWPCookieJar,这个类实例化的cookie对象,就可以直接调用save方法。
huihuSession.cookies = cookielib.LWPCookieJar(filename = "huihuCookies.txt")
userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36"
header = {
# "origin": "https://passport.huihu.cn",
"Referer": "http://hh.haiper.com.cn/w/wander/user/login/",
'User-Agent': userAgent,
}
def huihuLogin(account, password):
#
print ("开始模拟登录嘻嘻嘻")
postUrl = "http://hh.haiper.com.cn/w/wander/user/login/"
postData = {
"username": account,
"password": password,
}
# 使用session直接post请求
responseRes = huihuSession.post(postUrl, data = postData, headers = header)
# 无论是否登录成功,状态码一般都是 statusCode = 200
#responseRes = requests.post(postUrl, data = postData, headers = header)
# 无论是否登录成功,状态码一般都是 statusCode = 200
print(f"statusCode = {responseRes.status_code}")
#print(f"text = {responseRes.text}")
huihuSession.cookies.save()
def isLoginStatus():
# 通过访问个人中心页面的返回状态码来判断是否为登录状态
for i in range(2131,2134):
routeUrl = "http://hh.haiper.com.cn/w/bench/extend/health/trade/all?nickname=&type=&gender=&level=&range%5Bstart%5D=2014-11-11+14%3A57&range%5Bend%5D=2018-06-06+14%3A57&page="+str(i)
# 下面有两个关键点
# 第一个是header,如果不设置,会返回500的错误
# 第二个是allow_redirects,如果不设置,session访问时,服务器返回302,
# 然后session会自动重定向到登录页面,获取到登录页面之后,变成200的状态码
# allow_redirects = False 就是不允许重定向
try:
responseRes = huihuSession.get(routeUrl, headers = header, allow_redirects = False)
result = responseRes.text
except:
continue
start = result.find('
result = result[start:]
#print (result)
for j in range(1,16):
start = result.find('擦擦擦图片')
if start==-1:
break
else:
result = result[start:]
start = result.find('src="')
result = result[start+5:]
end = result.find('" class="img-rounded"')
imgpath = result[:end]
print (imgpath)
if imgpath=='/attachment/':
continue
randomname = datetime.now().strftime("%Y%m%d_%H%M%S") + str(random.randint(1,100))+'.jpg'
try:
urllib.request.urlretrieve(imgpath,'./擦擦擦/'+randomname)
except:
continue
print (i)
print(f"isLoginStatus = {responseRes.status_code}")
#print(f"text = {responseRes.text}")
if responseRes.status_code != 200:
return False
else:
return True
if __name__ == "__main__":
# 从返回结果来看,有登录成功
huihuLogin("xxxx", "xxxx")
isLogin1 = isLoginStatus()
print(f"is login huihu = {isLogin1}")
python用户名和密码登录_Python爬虫带用户名密码登录相关推荐
- python 制作自己的新闻_Python爬虫-带你自制新闻网站,先学先会一起来学吧
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于搜狗网 作者:AI科技大本营 ( 想要学习Python?Python ...
- python脚本自动qq签到_Python爬虫实现自动登录、签到功能 附代码
这篇文章主要介绍了Python爬虫实现自动登录.签到功能的代码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 前几天在一个素材网站上下载东 ...
- python 12306登录_python爬虫--模拟12306登录
模拟12306登录 超级鹰: #!/usr/bin/env python # coding:utf-8 import requests from hashlib import md5 class Ch ...
- python爬虫如何模仿登录_python爬虫:两种方法模拟登录博客园
第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...
- python淘宝爬虫登陆功能和下单功能_Python 爬虫实战5 模拟登录淘宝并获取所有订单...
经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...
- python爬虫淘宝登录_python爬虫实现模拟淘宝登录
就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...
- python post 登录_Python爬虫之模拟post登陆及get登陆
一.模拟登陆需要账号,密码的网址 一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆 由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,赛 ...
- python 无头模式 绕过检测_python爬虫反反爬虫有绝技,轻松绕开百度人机验证!...
你可能已经了解到了无头浏览器的作用以及使用的方法,那么本篇文章就让我们一起用无头浏览器做点事情. 是的你没有看错,我们要"搞"的对象就是百度指数这个网站,不知道你平时是否会应用到这 ...
- python通过ip池爬_Python爬虫 | IP池的使用
一.简介 爬虫中为什么需要使用代理 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问.所以我们需要设 ...
最新文章
- mysql 隐式失误_评“MySQL 隐式转换引起的执行结果错误”
- Technode:滴滴这五年,大数据为城市交通做了什么
- String和C#中的string有什么区别?
- python语言入门书籍-Python入门书籍有哪些?
- 武汉python培训哪一家好一些-一家靠谱的武汉Python培训机构很重要
- php有个qrcode类,一个PHP的QRcode类与大家分享
- FastReport.Net 使用字符串
- python安装好的界面_手把手教你配置最漂亮的PyCharm界面,Python程序员必备!
- python函数内的作用域包括什么_python菜鸟求问关于嵌套函数中作用域范围应该怎么理解?...
- jQuery 源码解析笔记(一)
- 源码分析Dubbo服务提供者启动流程-上篇
- 苹果要做第一个吃螃蟹的人!将率先尝试台积电5nm工艺
- Mybatis注解的方式,如何实现MySQL ,update后,返回更新后的值
- 有一个写代码很厉害的老板是怎样一种体验?
- paip.java 以及JavaScript (js) 的关系以及区别
- 写读后感,获赠陈能技老师亲笔签名书《性能测试诊断分析与优化》中奖名单公布啦!...
- linux文件类型elf,ELF文件格式的三种类型
- \t\t桌面图标无法删除 删除桌面IE图标 桌面图标整理
- 12c 新特性-统一审计(Unified Auditing)
- windows快速添加开机启动项/禁用开机启动项
热门文章
- Java多线程(超详解)
- 计算机辅助设计在环境工程中的应用,试论计算机辅助设计在环境工程中的应用原稿(全文完整版)...
- 时光雕刻着我们的青春
- linux 判断u盘 硬盘坏道,u盘怎么检测硬盘坏道
- Python 套件管理程式簡介
- 月份加日期前面用on还是in_年月日前什么时候用in,什么时候用on
- 职场选择之大公司 VS 小公司
- 21年新版kali安装
- asn.1 rsa java_android - RSA公钥生成失败:“错误:0c0000be:ASN.1编码例程:OPENSSL_internal:WRONG_TAG” - 堆栈内存溢出...
- 2.Linux下程序代码的编译