前面讲了cookie的概念,现在来实战操作一下:直接访问人人网代码女神的主页

1.如果不使用cookie直接来访问请求:

在 网页直接访问女神主页直接会弹到登录页面。

女神主页URL:http://www.renren.com/256450404/profile

代码示例:

#encoding:utf-8#代码女神赵洁琼主页:http://www.renren.com/256450404/profile
#人人网登录URL:http://www.renren.com/Plogin.dofrom urllib import request#1.不使用cookie访问女神主页nvshen_url="http://www.renren.com/256450404/profile"headers={'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36"
}req=request.Request(url=nvshen_url,headers=headers)
resp=request.urlopen(req)
#print(resp.read())#将读取的内容写入html文件中with open('renren.html','w') as fp:#write函数必须写入一个str的数据类型#resp.read()读出来的是一个bytes数据类型#bytes ->decode -> str#str ->encode ->bytesfp.write(resp.read().decode('utf-8'))

获得的结果html文件打开如下图,虽然有点乱码, 但是还是能看出来 是登录页面,说明要想进入女神主页,还是需要登录的cookie进行请求访问才能实现。

如果出现下方中文乱码的 情况,需要将保存的html文件UTF-8编码改为国标编码,GB2312之类的,如下下图所示

<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />

2.使用cookie来进行访问

 上一段不用cookie直接访问女神的主页,会直接弹出到登录页,现在我们尝试加上登录之后的cookie进行登录,在request header中找到cookie

代码示例

#encoding:utf-8#代码女神赵洁琼主页:http://www.renren.com/256450404/profile
#人人网登录URL:http://www.renren.com/Plogin.dofrom urllib import request#2.使用cookie访问女神主页nvshen_url="http://www.renren.com/256450404/profile"headers={'User-Agent':"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.4098.3 Safari/537.36",'Cookie':'anonymid=k8cdsuqh-srt2i0; depovince=GW; _r01_=1; taihe_bi_sdk_uid=bfe301037dffbe108487b72db5bf7e6b; jebe_key=6e985591-b125-4e8c-a086-6ffa0d70d0c2%7C50f2c4113393fea64a81ef35b552f056%7C1585446344625%7C1%7C1585446346127; jebe_key=6e985591-b125-4e8c-a086-6ffa0d70d0c2%7C50f2c4113393fea64a81ef35b552f056%7C1585446344625%7C1%7C1585446346129; JSESSIONID=abcB_WFVogSDj9AkbRLex; ick_login=b047f395-23df-4b1c-bc91-912f67b0f2fa; taihe_bi_sdk_session=d4e78eb86e06c00aa0c3e1487f6275a8; t=ce3517a93cf84e7d1e51f9b959106a9c6; societyguester=ce3517a93cf84e7d1e51f9b959106a9c6; id=974111896; xnsid=da5394c8; jebecookies=ab44e1ca-1fb8-4a83-8c39-9bd813f4d802|||||; ver=7.0; loginfrom=null; wp_fold=0'
}req=request.Request(url=nvshen_url,headers=headers)
resp=request.urlopen(req)
#print(resp.read())with open('renren2.html','w',encoding='utf-8') as fp:#write函数必须写入一个str的数据类型#resp.read()读出来的是一个bytes数据类型#bytes ->decode -> str#str ->encode ->bytesfp.write(resp.read().decode('UTF-8'))

打开生成的renren2.html文件,如果还是出现中文乱码,还是 一样的解决办法。

【Python爬虫历程】使用Cookie来模拟登陆相关推荐

  1. python爬虫——基于selenium用火狐模拟登陆爬搜索关键词的微博

    preface:最近的任务,还是爬微博.之前的用不上,post提交,还是不太熟悉,模拟登陆不了,故换种方式,用selenium模拟登陆,从此任何登录以及js调用都是浮云,我模拟登录分分钟解决.之前的时 ...

  2. Python爬虫学习(简单的模拟登陆(一))

    可以成功的爬取我室友的微博首页 #-*-coding:utf8-*-import requests from lxml import etreecook = {"Cookie": ...

  3. php selenium模拟登陆,python+selenium自动化实战携带cookies模拟登陆微博

    首先获取cookies,使用手机扫码登录斗鱼,然后利用网页cookies保存在本地 有些同学可能会问,这不是相当于自己登录了吗,还模拟什么呢,其实来说这是一次获取cookies可以使用很久 #!/us ...

  4. 使用cookie进行模拟登陆

    前言 流程分析 代码 前言 有时候进行一个网页内容的爬取时会遇到密码.账号登录问题,例如我需要爬取这个网站的信息,第一步面临的就是网站的登录,那类似这种问题一般可以通过cookie进行模拟登陆进行解决 ...

  5. 【python爬虫学习】cookie模拟登陆

    近期学校要求登陆一个网站学习,要计算在线时长,长时间不对这个页面进行操作的话就会停止计时.就想着能不能写个程序模拟登陆并进行一些操作. 模拟登陆的话有很多方法,因为有验证码比较麻烦,所以我是自己先登陆 ...

  6. 用爬虫实现验证码识别并模拟登陆和cookie操作、代理操作、线程池

    一.模拟登陆 1.为什么要进行模拟登陆 有时,我们需要爬取一些基于个人用户的用户信息(需要登陆后才可以查看) 2.为什么要需要识别验证码 因为验证码往往是作为登陆请求中的请求参数被使用 3.验证码识别 ...

  7. python输入学号返回成绩_Python模拟登陆正方教务系统并抓取成绩单

    学校的教务系统是正方的,在大学期间无论是选课.报名还是查成绩,几乎都要和它打交道,上学期在积累了一定的爬虫和web知识后,我就想着用Python模拟登陆教务系统,实现在命令行里方便地进行成绩或课表的查 ...

  8. Python 淘宝系列(三): 模拟登陆成功后获取购物车信息

    http://my.oschina.net/u/811744/blog/192604(本文的转载地址) ================================================ ...

  9. 淘宝爬虫实战---requests库实现模拟登陆模块

    淘宝网---爬虫 (一).requests库实现淘宝网模拟登陆 最近想要写一个淘宝网的爬虫,具备模拟登陆.代理IP池.根据关键词爬取搜索页面商品数据,第一个目标就是淘宝的模拟登陆,不得不说,淘宝的用户 ...

  10. Python爬虫学习之API与模拟ajax请求

    API的使用 --通过API向服务器请求数据 优点:简单直接,高效率地批量爬取:解决动态网页的爬取. 缺点:通过API的缺点是有些网站会限制API调用的次数和频率,用户需要付费来升级成高级用户来获取更 ...

最新文章

  1. android展示gif循环,android:GIF动画循环完成听众
  2. 合作伙伴常见技术问题集锦
  3. HTTPS和HTTPS证书
  4. boost::hana::nothing用法的测试程序
  5. Python自动化办公之Excel对比工具
  6. JUnit 4和JUnit 5区别
  7. Maximum Subarray(最大连续子序列和)
  8. 【干货】中国非结构化数据中台实践白皮书.pdf(附55页pdf下载链接)
  9. npm package.json 文件基础知识
  10. java之设计模式工厂三兄弟之简单工厂模式
  11. python和pytorch关系_pytorch 模拟关系拟合——回归实例
  12. 类的继承关系声明和访问修饰
  13. 树莓派开发界面显示温度_关于树莓派linux开发板
  14. shineblink 雨滴感应传感器
  15. 我的保研之路-哈工大计算机,中科院信工所,复旦大数据学院
  16. JS日期时间格式化函数
  17. Linux如何打开U盘
  18. 创建窗体时出错。有关详细信息,请参阅 Exception.InnerException
  19. 郸城计算机学校,郸城科技职业中等专业学校
  20. python+selenium+pycharm自动化测试环境搭建

热门文章

  1. 毕业设计python数据分析_毕业设计:爬虫及数据分析
  2. 港科夜闻|香港科技大学与越秀集团举行捐赠仪式暨合作框架协议签约仪式,再次捐赠1亿港币...
  3. php木马检测关键词
  4. 20155313 杨瀚 《网络对抗技术》实验二 后门原理与实践
  5. ThreadLocal工具类
  6. 锐捷交换机忘记密码解决方案:恢复出厂设置、重置配置文件
  7. 计算机无法启动鼠标键盘没反应,电脑开机后鼠标键盘没反应怎么办
  8. Linux文件颜色与文件类型对应(白色、蓝色、红色、黄色、绿色 代表的意义。。。)
  9. 8种编程语言毕业设计参考文献大全(java,jsp,mysql,c#,asp.net,sqlserver,andorid,php)
  10. PR视频剪辑(项目包装)