酱酱~小编又来啦~

先来回顾一下什么是requets库吧~

Requests库是用Python编写的,基于urllib,采用Apache2 Licensed开源协议的HTTP库;相比urllib库,Requests库更加方便,

可以节约我们大量的工作,完全满足HTTP测试需求;上篇文章讲了requests库中的基本方法,方法中有很多参数,我只针对

方法对比较常用的参数进行了简单介绍,今天一起来看看所有的参数吧~

一、requests库的13个控制访问参数

1.params:形式:字典或字节序列,做为参数增加到url中

2.data:形式:字典或字节序列 或文件对象,做为Requests的内容,可反馈给服务器

3.json:形式:JSON格式的数据 做为Requests的内容,可反馈给服务器

(ps:科普JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定

的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交

换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。)

                 来自百度百科,更多信息请查询https://baike.baidu.com/item/JSON/2462549?fr=aladdin

4.headers:形式:字典 HTTP定制头

例如在亚马逊上是不允许python爬取信息的,我们可以将该参数改成Mozilla/5.0(切记只是用于学习,而不是商用)

kv = {"User-Agent":'Mozilla/5.0'}  #需要将用户改为:Mozilla/5.0,亚马逊拒绝python访问

5.cookies:形式:字典或cookie Jar(从HTTP协议中解析得来)是Requests中的cookie

(ps:管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。整个cookie都存储在内存中,

对CookieJar实例进行垃圾回收后cookie也将丢失。)

                    详情请参考https://blog.csdn.net/levon2018/article/details/80558108

6.auth:形式:元组 支持HTTP的认证功能

7.files:   形式:字典类型用于向服务器传输文件

8.timeout:形式:数字 单位是s(秒)用于设置超时时间,防止爬取时间过长,无效爬取

9.prixies:形式:字典类型 设定访问代理服务器,可以增加登录认证。(防止爬虫逆追踪)

10.allow_redirects:形式:布尔类型(True or False)默认为True 重定向开关

11.stream:布尔类型(True or False)默认为Ture 获取内容立即下载 开关

12.verify:布尔类型(True or False)默认为Ture  认证SSL证书开关

13.cert: 保存本地证书路径

酱酱重点来啦~~我为大家精心准备了五个案例 敲黑板,只是学习目的,非商业哦~~

'''1-京东爬取
import requests
url1 = "https://item.jd.com/35683512021.html#crumb-wrap"
try:
r = requests.get(url1)
r.raise_for_status()
r.enconding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失败")
2-亚马逊爬取
import requests
url1 = 'https://www.amazon.cn/?_encoding=UTF8&ref_=nav_logo'
try:
kv = {"User-Agent":'Mozilla/5.0'} #需要将用户改为:Mozilla/5.0,亚马逊拒绝python访问
r = requests.get(url1,headers = kv)
r.raise_for_status()
r.encoding = https://util.cnblogs.com/InsertCode.aspxr.apparent_encoding
print(r.text[1000:2000])
except:
print("爬取失败")
3.1-百度搜索全代码
import requests
keyword = 'Python'#搜索python 百度的关键词接口是wd
try:
kv = {'wd':keyword}
r = requests.get('http://baidu.com/s',params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("爬取失败")
3.2-360搜索全代码360搜索全代码
import requests
keyword = 'Python'#搜索python 360的关键词接口是q
try:
kv = {'q':keyword}
r = requests.get('http://so.com/s',params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("爬取失败")
#4.1-网络图片的存取
#用到文件操作,将图片存为二进制(因为response属性中的content是响应HTTP内容的二进制文件)
#存储并不是想存到哪里就存到哪里,可以先用os库查看当前python的工作目录;代码如下:
import os
print(os.getcwd())
#我的是:D:\python\practice\爬虫学习(一般就在python环境中)
----------------
import os
print(os.getcwd())
#所以如果想存到其他盘或者路径 一定先要更改当前工作路径
os.chdir("D:/python")
#进行验证
print(os.getcwd())
更改工作目录成功 创建存储路径,并以二进制形式爬取网上图片并保存到文件中
#先进行爬取,并验证是否爬取成功
url1 = "http://image.ngchina.com.cn/2020/0213/20200213044154389.jpg"
import requests
r = requests.get(url = url1)
print(r.status_code)#状态码为200表示爬取成功
path = "D:\\python\\123.jpg" #一定要和网上的图片格式一样
with open(path,'wb')as f:#存储文件
f.write(r.content) #4.2爬取视频 和爬取图片类似 也需要查看当前工作目录,根据是否要存储在当前工作目录来决定是否更改
#在存取视频得时候只需要将想存取的位置的后缀从.jpg到.mp4即可
#还是将内容二进制保存在文件中
import os
print(os.getcwd())
path = "D://python//practice//爬虫学习//123.mp4"
import requests
url = "http://www.ngchina.com.cn/statics/images/index_lunbo/ad_video_2.mp4"
r = requests.get(url)
print(r.status_code)
with open(path,'wb')as f:
f.write(r.content)
#ip地址归属的自动查询
#首先要知道想查询的网页、视频、图片的ip地址是什么
#先登录"https://site.ip138.com/www.dili360.com/"网站将想查询的url转换为ip地址
#可以通过这个网站 查询到ip地址的归属地,我们就是用计算机代替人来做,
#相当于我们是模拟后台,帮助顾客知道归属地
#通过爬取"http://m.ip138.com/ip.asp?ip="+"IP地址"
#并截取获取文本的后500字符就可以查询到ip归属地
import requests
url = "http://m.ip138.com/ip.asp?ip="
try:
r = requests.get(url+"123.57.174.224")
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[-500:])
except:
print("爬取失败")'''

--------------------------------------------------------分割线---------------------------------------------------------------

--------------------小编也是在学习哦,有错误或者想讨论的欢迎大家在评论区积极评论哟~---------------------------

---------------代码是我自己敲得哦,不要直接复制粘贴哦,一定动手自己试一试,才会学的更多------------------

  

python网络爬虫(三)requests库的13个控制访问参数及简单案例的更多相关文章

  1. python网络爬虫之requests库

    Requests库是用Python编写的HTTP客户端.Requests库比urlopen更加方便.可以节约大量的中间处理过程,从而直接抓取网页数据.来看下具体的例子: def request_fun ...

  2. python网络爬虫之requests库 二

    前面一篇在介绍request登录CSDN网站的时候,是采用的固定cookie的方式,也就是先通过抓包的方式得到cookie值,然后将cookie值加在发送的数据包中发送到服务器进行认证. 就好比获取如 ...

  3. Python网络爬虫(三)

    AJAX学习 AJAX=Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).通俗来说,AJAX是一种无需加载整个网页的情况下,通过在后台与服务器 ...

  4. 04.Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  5. 06.Python网络爬虫之requests模块(2)

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  6. Python网络爬虫之requests模块(2)

    session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬 ...

  7. Python网络爬虫之requests模块(1)

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  8. Python网络爬虫之requests模块

    今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 ...

  9. Python 网络爬虫的常用库汇总

    爬虫的编程语言有不少,但 Python 绝对是其中的主流之一.下面就为大家介绍下 Python 在编写网络爬虫常常用到的一些库. 请求库:实现 HTTP 请求操作 urllib:一系列用于操作URL的 ...

随机推荐

  1. Redis Sentinel 高可用机制

    内容目录: Sentinel 如何工作的? 核心配置项 怎么选出新 master 的? Sentinel 有多个,具体谁来执行故障转移? Sentinel 是怎么发现 slave 和其他 sentin ...

  2. Python入门小建议

    "java从心"正式更名"KEN DO EVERTHING".Ken(Can) Do Everything,无所不能 Believe youseft then ...

  3. Python环境搭建(win)——Python官方解释器

    Python官方解释器搭建方法: 本文以当前最新的3.8.1为例 1.在电脑上打开Python的官网https://www.python.org/ 2.找到Download下的All releases ...

  4. Halo-个人独立博客系统

    项目地址:https://github.com/halo-dev/halo 安装指导:https://halo.run/guide/   简介: Halo 是一款现代化的个人独立博客系统,给习惯写博客 ...

  5. VLC for CentOS7

    https://blog.csdn.net/qiuyoujie/article/details/78486947 http://elearning.wsldp.com/pcmagazine/insta ...

  6. Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解

    生成器设计思路: 连接数据库 -> 获取表结构 -> 生成文件 1 下载与安装 官网文档入口 最方便的 maven 插件使用方式 贴至pom 文件 2 新建配置文件 填充配置信息(官网示例 ...

  7. CSS学习笔记--Div+Css布局(div+span以及盒模型)

    1.DIV与SPAN 1.1简介 1.DIV和SPAN在整个HTML标记中,没有任何意义,他们的存在就是为了应用CSS样式 2.DIV和span的区别在与,span是内联元素,div是块级元素 内联元 ...

  8. 深入了解 Java 中的异常处理 + 面试题

    # 深入了解 Java 中的异常处理 + 面试题 在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点.比如,try-catch 处理要遵循的原则是什么,finall ...

  9. 暑假第三周总结(学习HDFS操作方法)

    本周由于自己出去玩,以及家里的各种事也没好好看书,就对HDFS的一些常用的shell命令进行了学习与应用,观看了林子雨老师关于HDFS的视频,对HDFS的一些存储的原理.规则进行了一定的了解.对uba ...

  10. 视觉slam十四讲第七章课后习题6

    版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8545450.html 6.在PnP优化中,将第一个相机的观测也考虑进来,程序应如何 ...