# -*- 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爬虫带用户名密码登录相关推荐

  1. python 制作自己的新闻_Python爬虫-带你自制新闻网站,先学先会一起来学吧

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于搜狗网 作者:AI科技大本营 ( 想要学习Python?Python ...

  2. python脚本自动qq签到_Python爬虫实现自动登录、签到功能 附代码

    这篇文章主要介绍了Python爬虫实现自动登录.签到功能的代码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 前几天在一个素材网站上下载东 ...

  3. python 12306登录_python爬虫--模拟12306登录

    模拟12306登录 超级鹰: #!/usr/bin/env python # coding:utf-8 import requests from hashlib import md5 class Ch ...

  4. python爬虫如何模仿登录_python爬虫:两种方法模拟登录博客园

    第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...

  5. python淘宝爬虫登陆功能和下单功能_Python 爬虫实战5 模拟登录淘宝并获取所有订单...

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 本篇内容 python模拟登录淘宝网页 获取登录用户的所有订单详情 ...

  6. python爬虫淘宝登录_python爬虫实现模拟淘宝登录

    就算所有人都不支持你.这条路会很曲折,你也会一度认为是不是自己选错了,但只要坚持,就算最后没有成功,但努力了就不会有遗憾. python爬虫模拟淘宝登录 小贴士 这个爬虫和搜索引擎的爬虫是有区别的.搜 ...

  7. python post 登录_Python爬虫之模拟post登陆及get登陆

    一.模拟登陆需要账号,密码的网址 一些不需要登陆的网址操作已经试过了,这次来用Python尝试需要登陆的网址,来利用cookie模拟登陆 由于我们教务系统有验证码偏困难一点,故挑了个软柿子捏,赛氪,赛 ...

  8. python 无头模式 绕过检测_python爬虫反反爬虫有绝技,轻松绕开百度人机验证!...

    你可能已经了解到了无头浏览器的作用以及使用的方法,那么本篇文章就让我们一起用无头浏览器做点事情. 是的你没有看错,我们要"搞"的对象就是百度指数这个网站,不知道你平时是否会应用到这 ...

  9. python通过ip池爬_Python爬虫 | IP池的使用

    一.简介 爬虫中为什么需要使用代理 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问.所以我们需要设 ...

最新文章

  1. mysql 隐式失误_评“MySQL 隐式转换引起的执行结果错误”
  2. Technode:滴滴这五年,大数据为城市交通做了什么
  3. String和C#中的string有什么区别?
  4. python语言入门书籍-Python入门书籍有哪些?
  5. 武汉python培训哪一家好一些-一家靠谱的武汉Python培训机构很重要
  6. php有个qrcode类,一个PHP的QRcode类与大家分享
  7. FastReport.Net 使用字符串
  8. python安装好的界面_手把手教你配置最漂亮的PyCharm界面,Python程序员必备!
  9. python函数内的作用域包括什么_python菜鸟求问关于嵌套函数中作用域范围应该怎么理解?...
  10. jQuery 源码解析笔记(一)
  11. 源码分析Dubbo服务提供者启动流程-上篇
  12. 苹果要做第一个吃螃蟹的人!将率先尝试台积电5nm工艺
  13. Mybatis注解的方式,如何实现MySQL ,update后,返回更新后的值
  14. 有一个写代码很厉害的老板是怎样一种体验?
  15. paip.java 以及JavaScript (js) 的关系以及区别
  16. 写读后感,获赠陈能技老师亲笔签名书《性能测试诊断分析与优化》中奖名单公布啦!...
  17. linux文件类型elf,ELF文件格式的三种类型
  18. \t\t桌面图标无法删除 删除桌面IE图标 桌面图标整理
  19. 12c 新特性-统一审计(Unified Auditing)
  20. windows快速添加开机启动项/禁用开机启动项

热门文章

  1. Java多线程(超详解)
  2. 计算机辅助设计在环境工程中的应用,试论计算机辅助设计在环境工程中的应用原稿(全文完整版)...
  3. 时光雕刻着我们的青春
  4. linux 判断u盘 硬盘坏道,u盘怎么检测硬盘坏道
  5. Python 套件管理程式簡介
  6. 月份加日期前面用on还是in_年月日前什么时候用in,什么时候用on
  7. 职场选择之大公司 VS 小公司
  8. 21年新版kali安装
  9. asn.1 rsa java_android - RSA公钥生成失败:“错误:0c0000be:ASN.1编码例程:OPENSSL_internal:WRONG_TAG” - 堆栈内存溢出...
  10. 2.Linux下程序代码的编译