1.引用自己定义一个类

from random_agent import RandomAgent

2. 引用系统的包

from fake_useragent import UserAgent

3.创建对象

agent = UserAgent()

4. 不要重复 造轮子
 pip search 工具包名字   例如:pip search UserAgent"
 pip install fake_useragent
5. cookie
   注意: cookie 是对方的服务器设置的
    1.如果网站登录的时候需要写验证码,可以考虑通过cookie直接登录
        例如:知乎网
        注意: cookie需要手动登录以后再粘贴
    2.如果网站登录的时候不需要验证码,可以考虑通过代码自动登录
        例如:抽屉网
        注意: 它的cookie是通过代码自动获取的
 6. 抽屉网的登录逻辑(其他网站不适用)
    1.先获取首页返回的cookie,因为它是用户的凭证
    2.开始登录(要携带上第一步的cookie)
    3.开始点赞/评论
 
 
7.注意: 通过 浏览器获取的操作一般都是 get请求
response = requests.get(
    url,
    headers={
        # 对应from random_agent import RandomAgent
        "User-Agent": RandomAgent.rand()
        # "User-Agent": agent.random
    }

)

字典headers的关键字User-Agent有两种方式获得

1.自己写一个关于获取useragent的函数   "User-Agent": RandomAgent.rand()

2.用系统自带的  "User-Agent": agent.random

8.cookie值得设置:

1.第一次访问首页的时候 服务器 返回一个cookie
   2.携带1的cookie进行登录,服务器返回另一个cookie
9.python27和python36 的区别:
    # python2.7
    f = open("1.txt", "w")
    import codecs
    f = codecs.open("1.txt", "w", encoding="utf-8")
    # python3,6
    f = open("1.txt", "w", encoding="utf-8")
 
   10. 面试题
    网络七层从下往上的协议有哪些?
    物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
   11.类的相关知识
      OO:面向对象
      OOP:面向对象编程
     OOA:面向对象分析
      OOD:面向对象设计
 
    OO的特点:封装 继承 多态
    多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。允许将子类类型的指针赋值给父类类型的指针
    继承的特点:
    1.子类拥有父类的所有属性和方法
    2.子类拥有自己的属性和方法
    3.子类可以重写父类的方法
    例如:
        张无忌-张翠山
        1.张无忌 拥有 张翠山的财产/剑/衣服(属性)....武当剑法(方法)
        2.张无忌 自己 买房子,学习了乾坤大挪移
        3.张无忌 改进了  武当剑法

12.完整代码:

# -*- coding:utf-8 -*-
import requests
# 引用自己定义一个类
from random_agent import RandomAgent
# 引用系统的包
from fake_useragent import UserAgent
# 创建对象
agent = UserAgent()
for i in range(100):print(agent.random)# 不要重复造轮子
# pip search 工具包名字   例如:pip search UserAgent"
# pip install fake_useragenturl = "http://dig.chouti.com"
# 通过浏览器获取的操作一般都是get请求
response = requests.get(url,headers={# 对应from random_agent import RandomAgent"User-Agent": RandomAgent.rand()# "User-Agent": agent.random}
)
cookies = response.cookies.get_dict()url = "http://dig.chouti.com/login"
response = requests.post(url,data={"phone": "8615896901897", "password": "qweqweqwe1", "oneMonth": "1"},headers={"User-Agent": agent.random},cookies=cookies
)# print(response.text)
cookies1 = response.cookies.get_dict()
print(cookies)
print(cookies1)# 查看--点赞-- 之后的请求结果
url = "http://dig.chouti.com/link/vote?linksId=17723556"
response = requests.post(url,headers={"User-Agent": agent.random},cookies=cookies
)
print(response.text)# 1.第一次访问首页的时候 服务器 返回一个cookie
# 2.携带1的cookie进行登录,服务器返回另一个cookie
'''# python2.7f = open("1.txt", "w")import codecsf = codecs.open("1.txt", "w", encoding="utf-8")# python3,6f = open("1.txt", "w", encoding="utf-8")
'''

13.自己创建的获取useragent代码:

# -*- coding:utf-8 -*-
# 自己封装一个用于获取User-Agent的类
import random
# OO:面向对象
# OOP:面向对象编程
# OOA:面向对象分析
# OOD:面向对象设计
'''OO的特点:封装 继承 多态多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。允许将子类类型的指针赋值给父类类型的指针继承的特点:1.子类拥有父类的所有属性和方法2.子类拥有自己的属性和方法3.子类可以重写父类的方法例如:张无忌-张翠山1.张无忌 拥有 张翠山的财产/剑/衣服(属性)....武当剑法(方法)2.张无忌 自己 买房子,学习了乾坤大挪移3.张无忌 改进了  武当剑法
'''class RandomAgent(object):agent_list = ["Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"]@classmethoddef rand(cls):# cls.agent_list类属性# self.agent_list对象属性# 从列表中随机选择一个元素return random.choice(cls.agent_list)if __name__ == '__main__':print(RandomAgent.rand())

14.运行结果

cookie用法--抽屉网的自动登录(cookie是通过代码自动获取的)相关推荐

  1. eclipse代码自动提示,eclipse设置代码自动提示

    eclipse代码自动提示,eclipse设置代码自动提示 eclipse是很多JAVA开发者基本上都用的工具,用它可以很方便的开发JAVA代码,当编写JAVA代码时,大部分人都是按组合键[Alt+/ ...

  2. python爬虫(十四)selenium(select、17素材网、模拟登录豆瓣和QQ空间、获取cookie、行为链)

    selenium介绍(下) 不管页面是动态加载还是静态加载出来的,只要是elements中能找到的,都能用selenium来获取数据,selenium获取数据的方式是以页面最终渲染后的前端为基础的,不 ...

  3. java 自动登录功能_jsp实现用户自动登录功能

    理解并掌握cookie的作用以及利用cookie实现用户的自动登录功能,实现下图效果 当服务器判断出该用户是首次登录的时候,会自动跳转到登录界面等待用户登录,并填入相关信息.通过设置cookie的有效 ...

  4. python自动登录教程_python实现校园网自动登录的示例讲解

    因为最近想用树莓派搞个远程监控系统,又因为学校的网需要从网页登录而树莓派又不方便搞个显示器带着,所以寻思着搞个能够自动登录校园网的脚本程序,省去了每次都要打开浏览器输入账号密码的烦恼. 1.工具 火狐 ...

  5. Python requests 自动登录某财BBS,自动签到打卡领铜钱,最后再配个plist,每天自动执行

    某财的用户应该都知道这个网站,在"签到有礼"版块,每天会有一贴,用帖子中给出的关键字回帖,得铜钱,据说铜钱可以换现金,还可以换书. 真好,裸辞在家的失业人员最需要这个-每天领之. ...

  6. python实现自动登录网页版_Python实现自动登录站点

    如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同). 一.确认软件版本 首先我们需要确认 ...

  7. Linux ssh shell 自动登录,shell脚本实现ssh自动登录功能分享

    文件名:ssh_auto_login #!/usr/bin/expect ## # ssh模拟登陆器 # # @author zhiyuan ## if {$argc<4} { puts &qu ...

  8. php自动登录QQ空间,QQ空间自动登录 - brivio的个人页面 - OSCHINA - 中文开源技术交流社区...

    #自动登录 define('ROOT_PATH',__DIR__); include_once(ROOT_PATH.'/lib/Http.class.php'); $config=array( 'us ...

  9. python自动登录百度_python实现自动登录百度账号功能代码

    from selenium import webdriver import time driver = webdriver.Chrome() driver.implicitly_wait(10) dr ...

  10. dev c++代码自动补全_让代码自动补全的全套流程

    作者: 熊唯,黄飞 ,腾讯 PCG/QQ研发中心/CV应用研究组 AI 如果真的可以写代码了,程序员将何去何从?近几年,NLP 领域的生成式任务有明显的提升,那通过 AI 我们可以让代码自动完成后续补 ...

最新文章

  1. 面试感悟-------一名3年工作经验的程序员应该具备的技能
  2. ht-8 对arrayList中的自定义对象排序( Collections.sort(ListT list, Comparator? super T c))...
  3. DAL层修改sql表数据
  4. 02-1.CSS边框,边界,布局相关笔记
  5. mysql主从结构主数据库_mysql主从结构主数据库中的日志
  6. 如何保持安全在线的五大技巧
  7. 转I give the orders around here.
  8. 直击面试,聊聊 GC 机制
  9. 代码修改以及公式推导
  10. java高级教程pdf_《Java高级编程实用教程》PDF 下载_IT教程网
  11. java 获取本机ip地址吗_java 获取本机ip地址
  12. 2018-2019年江苏省高等学校“阿里云大数据技术实战训练营”大学生万人计划学术冬令营开营...
  13. 如何使用一个手机号注册两个微信号!
  14. 计算机休眠不播放音乐,电脑休眠后不能播放音乐怎么办
  15. Tabby sftp 下载文件夹
  16. dnf钓鱼网站源码php,DNF钓鱼网站详细解密 千万不要贪小便宜
  17. 【社区图书馆】读书推荐:《PyTorch高级机器学习实战》
  18. Eclipse怎样改变字体大小
  19. linux snat mac 桥,关于SNAT在bridge中不生效的问题
  20. 模拟登录学校教务系统网站

热门文章

  1. PDF编辑器哪个好,如何把PDF文件拆分成多个文件
  2. Vue3-歌词根据时间自动滚动
  3. 六个好用的在线代码编辑器,你选哪个?
  4. php大写数字转换,php如何实现数字金额转换大写金额(代码示例)
  5. 走,去出海,一起“Copy to World” | 36氪出海行业报告
  6. 自然语言处理3 -- 词性标注
  7. 学生信息管理系统心得
  8. CVE-2015-1427(Groovy 沙盒绕过 代码执行漏洞)
  9. 【案例分享】网络环路检测基本功能配置
  10. 关于NFC P2P模式