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. linux php 安装xdebug

    我的环境是PHP 5.2.5,下载的xdebug是Xdebug v2.2.1 源码包 PHP 5.3.20用的是Xdebug v2.1.0  {版本一定要匹配} 下载地址为:http://xdebug ...

  2. VMware下linux与window文件夹共享

    这里说的是在虚拟机下来实现在windows下共享一个文件夹. 下面来说明一下是如何实现的: 1.  安装VMware.Workstation. 2.  安装Redhat Linux 9.0,在虚拟机下 ...

  3. form中onsubmit的使用

    form 中的onsubmit在点submit按钮时被触发,如果return false;则结果不会被提交到action中去(也就是提交动作不会发生),如果不返回或者返回true,则执行提交动作.(& ...

  4. C#中动态创建数据库和数据表,很经典【转】

    用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下: ADOX.Catalog catalog = new Catalog(); ...

  5. CSS里的 no-repeat

    简单来说,CSS里的 no-repeat是针对背景图片来说的.当你设置了no-repeat这个属性后,你的背景图片将不会被重复,再换一种说法,你在网站上所看到的背景图片就是你所添加的图片, 不会出现平 ...

  6. vue简单的CheckBox节点树

    初学vue.js,恰好公司有个页面需要做一个简单的CheckBox组成的节点树,于是摸索着写了一个. 业务逻辑为:选中父节点,子节点全部选中:取消选中父节点,子节点全部取消:选中字节点,父节点选中. ...

  7. 给浏览器绑定鼠标滚动事件(兼容FireFox)

    var bs = new Browser(); if(bs.userBrowser() == 'firefox'){ document.body.addEventListener("DOMM ...

  8. Java并发(四):并发集合ConcurrentHashMap的源码分析

    之前介绍了Java并发的基础知识和使用案例分析,接下来我们正式地进入Java并发的源码分析阶段,本文作为源码分析地开篇,源码参考JDK1.8 OverView: JDK1.8源码中的注释提到:Conc ...

  9. Git 常用基本命令汇总

    安装git yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install -y gi ...

  10. weex 项目开发 weexpack 项目 打包、签名、发布

    一. weexpack build android  和  weexpack run android 的 区别. (1)单纯打包 weexpack build android (2)打包并运行 wee ...