requests模块高级
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模块高级的更多相关文章
- requests模块 高级应用
目录 requests模块 高级应用 HttpConnectinPool 问题解决 IP代理 简单使用代理 代理池 cookie的处理 页面中验证码识别 使用 multiprocessing.dumm ...
- 爬虫 requests模块高级用法
一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内 ...
- 爬虫--requests模块高级(代理和cookie操作)
代理和cookie操作 一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests ...
- requests模块高级操作之cookie
一.cookie 存储在客户端的键值对,可以让服务端记录客户端相关状态. 如何处理cookie? 手动处理: 将抓包工具中的请求头信息中的cookie键值拷贝到header中 自动处理:session ...
- requests模块高级操作之proxies
一.代理proxy 概念:代理服务器 作用:请求和响应的转发 免费代理 www.goubanjia.com 快代理 西祠代理 代理精灵(付费) 匿名度: 透明:对方服务器知道你使用代理也知道你真实ip ...
- requests模块的使用
requests模块 什么是request模块:requests是python原生一个基于网络请求的模块,模拟浏览器发起请求. requests-get请求 # get请求 import reques ...
- 爬虫requests模块 1
让我们从一些简单的示例开始吧. 发送请求¶ 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> import requests 然后,尝试 ...
- Python requests模块
import requests 下面就可以使用神奇的requests模块了! 1.向网页发送数据 >>> payload = {'key1': 'value1', 'key2': [ ...
- python爬虫之requests模块介绍
介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...
随机推荐
- POJ 3268——Silver Cow Party——————【最短路、Dijkstra、反向建图】
Silver Cow Party Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Su ...
- H5移动端原生长按事件
// 函数名longpress// 参数为: 需长按元素的id.长按之后处理函数func function longPress(id, func,timeout=500) { var timeOutE ...
- JS 分页实现
var pagesize = 5; var pageindex = 1; var pagetype; var parms; var nextSize = 1; var target; function ...
- Linux查找文件内容(grep)
转载链接:http://www.eguidedog.net/linux-tutorial/05-grep.php grep是Linux命令行下常用于查找过滤文本文件内容的命令.最简单的用法是: gre ...
- MongoDB 3.2 在CentOS 上的安装和配置
MongoDB 3.2 在CentOS 上的安装和配置 2016-01-06 14:41:41 发布 您的评价: 0.0 收藏 0收藏 一.安装 编辑/etc/yum.re ...
- jsop解析获得htmldome
package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...
- c++ 输入split
日期格式为“yyyy/mm/dd”(即年/月/日)格式 scanf("%d/%d/%d", &year, &month, &day);
- 如何处理CloudFoundry应用部署时遇到的254错误
使用SAP云平台的CloudFoundry部署应用: 在cockpit遇到错误信息:instance: a0abe2b5-7623-4cf1-4c65-0c79, index: 0, exit_des ...
- Sql Server配置管理器与 Sql Server Management Studio
起初只安装了Sql Server配置管理器,之后用Navicat连接,总是报错(命名管道提供程序: 无法打开与 SQL Server 的连接 [53]) (另记:Navicat的“主机名或IP地址:” ...
- 【mydigitallife.info】如何禁用Aero窗口自动最大化
Go to Control Panel. Click on Ease of Access link or Ease of Access Center icon. Select Change how y ...