requests模块高级

cookie

  • cookie:

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

代理操作

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

    0. 关键点 a). 非阻塞网络调用,异步方法立即返回 b). 选择器(Selector)使得单一线程就可监控很多连接上的事件. <dependency> <groupId>i ...

  2. Navicat for mysql远程连接数据库详解(1130错误解决方法)

    用Navicat for mysql连接数据库测试下连接 如果出现1130错误 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...

  3. IOS NSTimer 定时器用法总结

    NSTimer在IOS开发中会经常用到,尤其是小型游戏,然而对于初学者时常会注意不到其中的内存释放问题,将其基本用法总结如下: 一.初始化方法:有五种初始化方法,分别是 + (NSTimer *)ti ...

  4. linux cached过高导致性能变低

    场景: 拿到了客户50个文件,平均每个文件大概40M左右的txt,文件在S3上,需要导入到数据库,40M解析出来大概是80W条左右的数据. 描述: 在刚开始执行导入时,因为数据验证复杂程度不同,每个文 ...

  5. centos yum 安装mysql5.7 以及 默认root密码查看

    1.  首先更新rpm 从MySQL Yum仓库下载最新的rpm文件:http://dev.mysql.com/downloads/repo/yum/ (需要Oracle帐号以及填写一些使用信息,才能 ...

  6. css清除浮动好方法

    1.clear:both ==>IE6,7会有高度,所以去高度需要.clear{ clear:both; height:0px; margin:0; padding:0; width:0; bo ...

  7. 编译出freeswitch的java调用的 jar和so

    假设freeswitch 源码路径为 /usr/local/src/freeswitch 1. cd /usr/local/src/freeswitch(源代码的根目录) 执行./configure, ...

  8. spring mvc 的理解

    1.Spring MVC是什么? Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基 ...

  9. C#使用Aspose.Words操作word文档

    最近接到个需求,由于客服这边要导出大量有一定规则的word文件,里面的内容希望系统自动填充,例如 这里我使用Aspose.Words.dll这个类库, 1.首先,我们需要创建模板文件,毕竟有规则的东西 ...

  10. Element-ui多选下拉实现全部与其他互斥

    1.以事件类型为例,给下拉绑定选项改变的change事件 2.当已选项个数大于1(即先选了其他,再选不限)且最后选的是不限时,取消其他选项选中状态: 当已选项个数等于2(即先选了不限,再选其他)且第一 ...