requests的基础使用
爬虫介绍
# 爬虫:又称网络蜘蛛,spider,一堆程序,从互联网中抓取数据----》数据清洗---->入库
# 爬虫需要掌握的知识
-抓取数据:发送网络请求(http),获得响应(http响应,响应头,响应体---》真正重要的数据在响应体中)
-python模块:requests,selenium
-清洗数据:解析拿回来的数据---》json,xml,html,二进制
-json解析,xml解析。。。
-python模块:re,json,beautifulsoup4(bs4),lxml,selenium
-入库:存文件,存mysql,redis,mongodb
-python模块:file,pymsql,redis-py,pymongo
# 反扒
-频率限制
-封ip(代理池),封账号(一堆小号:cookie池)
-请求头中带加密信息,referer,user-agent。。。
-响应回来的数据是加密
-验证码反扒(破解验证码---》第三方平台)
-js加密---》压缩---》加密方法其实在前端能看到---》看上去很晦涩
-手机设备:唯一id号
# 搜索引擎都是大爬虫
-百度输入框搜索---》美女---》去百度的数据库搜索----》显示在页面上
-百度一刻不停的在互联网中爬网页,爬完存到它的数据库
-seo优化:免费排中,排靠前
-sem优化:搜出来的靠前的,带广告的是花钱的,买断关键词
#可见即可爬
requests模块介绍和快速使用
# requests是模拟发送http请求的模块
-不仅仅可以做爬虫
-后端服务,请求别人服务
# pip3 install requests
# 使用requests发送get请求
import requests
# res 响应对象,http响应,python包装成了对象,响应头,响应头。。。在res中都会有
res=requests.get('https://www.cnblogs.com/liuqingzheng/p/16005866.html')
print(res.text) # 响应体转成字符串
get请求携带参数
# res = requests.get('http://www.aa7a.cn/?name=xxx&age=18')
# res = requests.get('http://www.aa7a.cn/',params={'name':'xxx',"age":18})
res = requests.get('https://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3')
print(res.text) # 响应体转成字符串
print(res.url) # http://www.aa7a.cn/?name=xxx&age=18
url的编码和解码
from urllib.parse import quote,unquote
res = unquote('%E7%BE%8E%E5%A5%B3')
print(res)
携带请求头
# 发送get请求,有的网站,拿不到数据,模拟的不像,请求头的数据没有携带
# 请求头:1 User-Agent:客户端类型 2 referer :上一个页面的地址 3 cookie
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
res = requests.get('http://www.aa7a.cn/',headers=header)
print(res.text)
发送post请求,携带数据
header = {
'Referer': 'http://www.aa7a.cn/user.php?&ref=http%3A%2F%2Fwww.aa7a.cn%2Fuser.php%3Fact%3Dlogout',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
data = {
'username': '1535114884@qq.com',
'password': '111111',
'captcha': 'xxxx',
'remember': 1,
'ref': ' http://www.aa7a.cn/',
'act': 'act_login'
}
# data,json请求体的数据
# 编码方式是 urlencoded
# res = requests.post('http://www.aa7a.cn/user.php', data=data, headers=header)
# # 编码是json格式
# # res = requests.post('http://www.aa7a.cn/user.php',json=data,headers=header)
# print(res.text)
携带cookie两种方式
# 方式一:携带在请求头中
# header = {
# 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
# 'Cookie':'deviceId=web.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqaWQiOiI2Mzk1OTEzMS1lMzE2LTRlNmItYWFlNi1mNDM0ZTEzZDQ4MzkiLCJleHBpcmUiOiIxNjkxMjIxODQ3NjAwIn0._tWo9ROyqRWXNCJA-ogCZ8MRBl4S-7tbB2wr6wLwci4; Hm_lvt_03b2668f8e8699e91d479d62bc7630f1=1688629848; __snaker__id=GmosTb6BqFJK2NsT; gdxidpyhxdE=bI5WeJdvSvxuozJLw6Sodah8g4wSXI%5CAGHA1Cn%2B573j5p5u3tTcpHw%2FKVWuoso76x2V1fxENE7jUBh%2FBZhMLRoXQdnvjcwO93W0A0QguQWpzQOGz6YiWdmXcJAbzpyI0flcPKu0o%2FajAM6spZ5gpHe2toaoZwaLt%5Cwm33oG19TcPouGk%3A1688630760372; YD00000980905869%3AWM_NI=hz7CdBywrI1ITXj%2BeDEs8Mphu1liSwPzyqW6zkG91wDDx50X1EV6qH%2FhEETlFaDIAXf4Rv2WI5bV6RCLGvy0zPMK7LULYiuRGg0HqFJuv9fgjQXVgpEy5gfhV02dVnM6Mlo%3D; YD00000980905869%3AWM_NIKE=9ca17ae2e6ffcda170e2e6ee91cb47aa9e8c94e245e9968ab2c85e838f9bb1c53cf4b397a4e173bba7b898ca2af0fea7c3b92aaca6f9a4e74abba9beaab4439888a6cce85087adf8aef364b7efa48ad27d94a6b792d63ebab589dab47d889cb8d6b354f39b9ad7f444edb88ba6d76886bf8caac454a6ec9e97b15d8bebaeb7b55a81948997fc3cba9083acb6489794978af85a85b900a9f44e8aabbadae56daa8f98b7e67c87a7fb88e56496f0fe85d5668fea838dee37e2a3; YD00000980905869%3AWM_TID=6PefENQWNmhBAAVQQUPQlgzdWOzmnwwf; token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqaWQiOiJjdHVfNjg4NjI5OTM5MjkiLCJleHBpcmUiOiIxNjkxMjIxOTM5MzgxIn0.15Hu6OOKG9oMqsjiD_Wla0Wv15ibXNSM62cvdlXUDYg; Hm_lpvt_03b2668f8e8699e91d479d62bc7630f1=1688629965',
# }
# data = {
# 'linkId': '39196722'
# }
# res = requests.post('https://dig.chouti.com/link/vote', headers=header,data=data)
# print(res.text)
# 方式二:
# res1 = requests.get('http://www.aa7a.cn/',cookies=cookie)
requests的基础使用的更多相关文章
- 03爬虫-requests模块基础(1)
requests模块基础 什么是requests模块 requests模块是python中原生基于网络模拟浏览器发送请求模块.功能强大,用法简洁高效. 为什么要是用requests模块 用以前的url ...
- python学习之-requests模块基础
安装版本:2.18 模块导入:import requests l 发送请求 发送GET请求: 获取GITHUB的公共时间线 r = requests.get(url='https://api.git ...
- requests用法基础-进阶
本节内容 模块的安装 -----------------------基础用法--------------------- GET用法.POST用法 -----------------------进阶用法 ...
- Python爬虫 requests库基础
requests库简介 requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支 ...
- 一:requests爬虫基础
一,什么是爬虫? 描述: 本质是一个自动化程序,一个模拟浏览器向某一个服务器发送请求获取响应资源的过程. 爬虫的基本流程 robots.txt协议 编写一个robots.txt的协议文件来约束爬虫程序 ...
- 爬虫之requests模块基础
一.request模块介绍 1. 什么是request模块 - python中原生的基于网络请求的模块,模拟浏览器发起请求. 2. 为什么使用request模块 - urllib需要手动处理url编码 ...
- requests模块基础
requests模块 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { bor ...
- 03 requests模块基础
1. requests 模块简介 什么是requests 模块 requests模块是python中原生的基于网络请求的模块,功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位.requests ...
- 05爬虫-requests模块基础(2)
今日重点: 1.代理服务器的设置 2.模拟登陆过验证码(静态验证码) 3.cookie与session 4.线程池 1.代理服务器的设置 有时候使用同一个IP去爬取同一个网站,久了之后会被该网站服务器 ...
- Requests的基础学习
官方文档链接:http://cn.python-requests.org/zh_CN/latest/ 安装: pip install requests 错误异常: 1.所有Requests显式抛出的异 ...
随机推荐
- Python GDAL库在Anaconda环境中的配置
本文介绍在Anaconda环境下,安装Python中栅格.矢量等地理数据处理库GDAL的方法. 需要注意的是,本文介绍基于conda install命令直接联网安装GDAL库的方法:这一方法有 ...
- 谷歌浏览器配置vue调试工具
1.下载调试工具 下载地址:Vue Devtools_6.1.4_chrome扩展插件下载_极简插件 点击推荐下载 2.解压下载的压缩文件: 3.打开chrome浏览器,进入chrome://exte ...
- 一天吃透JVM面试八股文
什么是JVM? JVM,全称Java Virtual Machine(Java虚拟机),是通过在实际的计算机上仿真模拟各种计算机功能来实现的.由一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一 ...
- “结巴”中文分词:做最好的 Python 中文分词组件
jieba "结巴"中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") C ...
- Python 将函数存储在模块中
将函数存储在模块中 将函数存储在被称为模块的独立文件中,在将模块导入到主程序中 import语句允许在当前运行的程序文件中使用模块中的代码 通过将函数存储在独立的文件中,可影藏程序的代码细节,将重点放 ...
- [OpenCV-Python] 21 OpenCV 中的轮廓
文章目录 OpenCV-Python:IV OpenCV中的图像处理 21 OpenCV 中的轮廓 21.1 初识轮廓 21.1.1 什么是轮廓 21.1.2 怎样绘制轮廓 21.1.3 轮廓的近似方 ...
- [OpenCV-Python] 10 图像上的算术运算
文章目录 OpenCV-Python: 核心操作 10 图像上的算术运算 10.1 图像加法 10.2 图像混合 10.3 按位运算 OpenCV-Python: 核心操作 10 图像上的算术运算 目 ...
- P1008 [NOIP1998 普及组] 三连击,置顶题解的问题
题目链接: https://www.luogu.com.cn/problem/P1008 置顶题解 暴力,加简化的判断,数学原理,2个集合内所有数相加相乘结果一样,2个集合的内容一样(没错我自己编得, ...
- 2023-03-09:用golang调用ffmpeg,将流媒体数据(以RTMP为例)保存成本地文件(以flv为例)。
2023-03-09:用golang调用ffmpeg,将流媒体数据(以RTMP为例)保存成本地文件(以flv为例). 答案2023-03-09: 这是最简单的收流器.本文记录一个最简单的基于FFmpe ...
- 2020-11-19:go中,defer原理是什么?
福哥答案2020-11-19:- - 什么是defer - defer是go语言提供的一种用于注册延迟调用的机制:让函数或者语句在当前函数执行完毕(包括return正常结束或者panic导致的异常结束 ...