之前使用爬虫时,最让我头疼的就是cookie失效的问题了。由于有的cookie存在时效问题。一段时间后,cookies会失效。失效后,爬虫碰到的页面就基本上是重新登录的页面了。这时候就需要cookie自动的更新了。通常怎样自动更新cookie呢?这里会用到selenium。

步骤1、 采用selenium自动登录获取cookie,保存到文件;

步骤2、 读取cookie,比较cookie的有效期,若过期则再次执行步骤1;

步骤3、 在请求其他网页时,填入cookie,实现登录状态的保持。

经过百度,google,加上自己的一些探索,探索出了模拟自动获取淘宝cookies。

import os

import pickle

import time

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

from selenium import webdriver

def get_cookie_from_network():

# 这个url比较关键,网络上比较老的办法是

# url_login = 'https://login.taobao.com/member/login.jhtml'

# 测试之后发现,会报错“可能不是一个可交互的element”

# 在后面添加?style=mini后就可以了

url_login = 'https://login.taobao.com/member/login.jhtml?style=mini'

# 这一段是为了给selenium添加user-agent。模拟浏览器

dcap = dict(DesiredCapabilities.PHANTOMJS)

dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 ")

driver = webdriver.PhantomJS(desired_capabilities=dcap)

driver.implicitly_wait(1)

driver.get(url_login)

# driver.find_element_by_id("J_Static2Quick").click()

driver.find_element_by_id("TPL_username_1").clear()

driver.find_element_by_id("TPL_password_1").clear()

driver.find_element_by_id('TPL_username_1').send_keys(u'张小呆920318')

driver.find_element_by_id('TPL_password_1').send_keys('plus820828')

driver.find_element_by_id('J_SubmitStatic').click()

# 获得 cookie信息

cookie_list = driver.get_cookies()

print cookie_list

cookie_dict = {}

for cookie in cookie_list:

#写入文件

f = open('cookies/' + cookie['name']+'.taobao','w')

pickle.dump(cookie, f)

f.close()

if cookie.has_key('name') and cookie.has_key('value'):

cookie_dict[cookie['name']] = cookie['value']

return cookie_dict

将获取的cookies存储在文件中。后期,你可以把它封装成一个函数放在爬虫的__init__中,也可以利用linux的crontab来定时获取最新的cookies值。

python爬虫判断cookie过期_当爬虫遇到cookie失效,怎样处理?相关推荐

  1. python分布式爬虫及数据存储_分布式爬虫

    爬虫学习使用指南 Auth: 王海飞 Data:2018-07-05 Email:779598160@qq.com github:https://github.com/coco369/knowledg ...

  2. 爬虫取中间文本_小小爬虫批量抓取微信推文里的图片

    哈喽,大家好,今天给大家分享一个特别特别小的爬虫案例! 爬取微信推文中的图片!!!! 有人说,这有啥用,,,,万一人家推文是放的是以图片的方式放的某个PPT的内容呢,你想把它弄下来,咋整,就是爬取啦. ...

  3. java如何判断token过期_【Java】后台判断token过期,后台刷新token,接下来该如何处理...

    如标题所示 我再详细描述一下我遇到的问题,如果我再发送请求的试试,后台验证header中的token,如果这时候,发现token过期,然后一系列判断其为合法token,允许token刷新,后台主动刷新 ...

  4. python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

  5. 【cookie】设置cookie过期时间 超时时间,Cookie 设置 expires

    Cookie是什么: 简单地说,cookie 就是浏览器储存在用户电脑上的一小段文本文件.cookie 是纯文本格式,不包含任何可执行的代码.一个 Web 页面或服务器告知浏览器按照一定规范来储存这些 ...

  6. 爬虫cookie过期_【Python】Scrapy爬虫框架之Request和Response

    说明 Scrapy的Request和Response对象用于爬取网站. HTTP是无状态的面向连接的协议, 为了保持连接状态, 引入了Cookie机制 Cookie是http消息头中的一种属性,包括: ...

  7. 爬虫cookie过期_python instagram 爬虫

    叶湘伦:[文字篇]如何系统地自学 Python?​zhuanlan.zhihu.com 直接介绍一下具体的步骤以及注意点: instagram 爬虫注意点 instagram 的首页数据是 服务端渲染 ...

  8. python爬虫去哪儿网_大型爬虫案例:爬取去哪儿网

    世界那么大,我想去看看.相信每到暑假期间,就会有很多人都想去旅游.但是去哪里玩,没有攻略这又是个问题.这次作者给大家带来的是爬取去哪网自由行数据.先来讲解一下大概思路,我们去一个城市旅行必定有一个出发 ...

  9. python爬虫结果是字节_入门爬虫?一文搞定!

    为了感谢大家对"Python客栈"的关注与支持,我们每天会在留言中随机抽取三位粉丝发放6.6元小红包.快来参与吧! 文章分三个个部分 两个爬虫库requests和selenium如 ...

最新文章

  1. php数据库html文本,关于php,mysql,html的数字分页和文本_php
  2. K3s初探:Rancher架构师带你尝鲜史上最轻量Kubernetes发行版
  3. C语言求最大公约数GCD的算法(附完整源码)
  4. HDU 1175 连连看
  5. 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
  6. 【飞鸽传书3.0】飞鸽传书3.0关键字布局
  7. 码农30岁后的体检——你最需要的是直面的勇气
  8. MySQL的Limit性能问题
  9. Java 并发(JUC 包-02)
  10. java嵌套类中的方法怎么调用_java类与嵌套嵌套后,怎么使用最外层的类建立对象后使用内部类的方法?...
  11. ccd视觉定位教程_CCD与CMOS哪个更能推动工业相机市场的发展
  12. nginx常用的请求过滤
  13. 远程心电监护系统在现代医疗中的应用
  14. 需求分析模板_如何进行培训需求分析?
  15. 谷歌统计Google Analytics使用入门
  16. 深度揭秘阿里云函数计算异步任务能力
  17. 【MySQL】联合索引的使用
  18. 【通信原理】学习笔记----理解信道
  19. Oracle数据库建表 Oracle数据库的统一命名与编码规范
  20. ssm+vue学生网络作业管理系统java maven

热门文章

  1. 劝雷军别造车?王传福:别浪费钱和时间;华为面向全球招募天才少年:不限学历/学校;腾讯光子工作室强制不加班双休|极客头条...
  2. 零拷贝技术在 Java 中为何这么牛?
  3. 教你如何用 Python 三行代码做动图!
  4. 10 年前的我 VS 10 年后的我
  5. 毕业后想拿大厂offer?你得完整拥有这些计算机知识体系!
  6. 两万字长文读懂 Java 集合!
  7. 再见,Navicat!这个 IDEA 的兄弟,真香!
  8. FPGA 无解漏洞 “StarBleed”轰动一时,今天来扒一下技术细节!
  9. 全球呼吸机告急!医疗科技巨头美敦力“开源”设计图和源代码
  10. 斯坦福首位华人女院长,“人造皮肤”赋予机器和残疾人触觉