requests模块高级

cookie

  • cookie:

    1. 基于用户的用户数据
    2. -需求:爬取用户的豆瓣网的个人页面数据
  • cookie作用:服务器端使用cookie来记录客户端的状态信息 实现流程:
    1. 1.执行登录操作(获取cookie
    2. 2.再发起个人主页请求时,需要将cookie携带到该请求中
    3. 注意:session对象:发送请求(会将cookie对象进行自动存储)
  1. import requests
  2. #生成一个session对象
  3. session = requests.session()
  4. #1 发起登录请求:将cookie获取,且存储到session对象中
  5. login_url='https://accounts.douban.com/login'
  6. data={
  7. 'source':'movie',
  8. 'redir':'https://movie.douban.com/',
  9. 'form_email':'',
  10. 'form_password':'bobo@15027900535',
  11. 'login':'登录'
  12. }
  13. # 自定义请求头信息
  14. headers={
  15. 'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
  16.  
  17. }
  18. # 使用session发起post请求
  19. login_response = session.post(url=login_url,data=data,headers=headers)
  20. #2 对个人主页发起请求(session(cookie)),获取响应页面数据
  21. url = 'https://www.douban.com/people/185687620/'
  22. response = session.get(url=url,headers=headers)
  23. page_text = response.text
  24. with open('./douban110.html','w',encoding='utf-8')as fp:
  25. fp.write(page_text)

代理操作

  • 1代理:第三方代替本体执行相关事物。
  • 2为什么使用代理:
    1. -反爬
    2. -反反爬
  • 3分类:
    1. -正向代理:代理客户端获取数据
    2. -反向代理:代理服务器获取数据
  • 4免费代理ip的网站提供商:
    1. -www.goubanjia.com(推荐)
    2. -快代理
    3. -西祠代理
  1. import requests
  2. url = 'http://www.baidu.com/s?wd=ip&ie=utf-8' #协议要和代理IP统一
  3.  
  4. # 将代理IP封装到字典
  5. proxies={
  6. 'http':'59.44.43.198:80'
  7. }
  8. # 更换IP
  9. response = requests.get(url=url,proxies=proxies)
  10.  
  11. with open('./daili.html','w',encoding='utf-8')as fp:
  12. fp.write(response.text)
  13. print('ok')

requests模块高级的更多相关文章

  1. requests模块 高级应用

    目录 requests模块 高级应用 HttpConnectinPool 问题解决 IP代理 简单使用代理 代理池 cookie的处理 页面中验证码识别 使用 multiprocessing.dumm ...

  2. 爬虫 requests模块高级用法

    一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内 ...

  3. 爬虫--requests模块高级(代理和cookie操作)

    代理和cookie操作 一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests ...

  4. requests模块高级操作之cookie

    一.cookie 存储在客户端的键值对,可以让服务端记录客户端相关状态. 如何处理cookie? 手动处理: 将抓包工具中的请求头信息中的cookie键值拷贝到header中 自动处理:session ...

  5. requests模块高级操作之proxies

    一.代理proxy 概念:代理服务器 作用:请求和响应的转发 免费代理 www.goubanjia.com 快代理 西祠代理 代理精灵(付费) 匿名度: 透明:对方服务器知道你使用代理也知道你真实ip ...

  6. requests模块的使用

    requests模块 什么是request模块:requests是python原生一个基于网络请求的模块,模拟浏览器发起请求. requests-get请求 # get请求 import reques ...

  7. 爬虫requests模块 1

    让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...

  8. Python requests模块

    import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': [ ...

  9. python爬虫之requests模块介绍

    介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...

随机推荐

  1. linux上的shutdown命令

    定时关机:shutdown -r now 立刻重新开机 shutdown -h now 立刻关机 shutdown -k now 'Hey! Go away! now....' 发出警告讯息, 但没有 ...

  2. SpringBoot | 第十二章:RabbitMQ的集成和使用

    前言 上节讲了缓存数据库redis的使用,在实际工作中,一般上在系统或者应用间通信或者进行异步通知(登录后发送短信或者邮件等)时,都会使用消息队列进行解决此业务场景的解耦问题.这章节讲解下消息队列Ra ...

  3. codevs 1664 清凉冷水

    1664 清凉冷水 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold         题目描述 Description 闷热的夏天,威斯康辛州的奶制品地区提供冷水供奶牛 ...

  4. vue-elem-stylus 的mixin用法

    .tab border-1px{red} minxin border-1px(&color) position:relative &::after display:block posi ...

  5. zblog去除文章页作者信息

    不想让zblog文章页显示作者信息怎么办? 1. 找到文章页模板文件:/zb_users/theme/default/template/post-single.php,删除相关代码 <span ...

  6. Qt的各种使用技巧

    一.基本界面介绍 二.查看帮助的方法 ① 如上图所示,点击右侧帮助菜单查看帮助 ② 双击想要查看的代码,点F1,也会弹出帮助栏 三.修改文本编辑器颜色 长时间使用白底黑字的编辑器经常会使眼睛不舒服,以 ...

  7. 修复SQL中的孤立账户

    EXEC sys.sp_change_users_login 'AUTO_FIX','登录名',NULL,'登录密码'

  8. [转载]正则表达式参考文档 - Regular Expression Syntax Reference.

    正则表达式参考文档 - Regular Expression Syntax Reference. [原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref. ...

  9. IOS Block动画

    ● + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)dur ...

  10. select into outfile

    语法格式如下: SELECT [列名] FROM table [WHERE 语句]         INTO OUTFILE '目标文件' [OPTION];   FIELDS TERMINATED ...