酱酱~小编又来啦~

先来回顾一下什么是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. JS 头像显示

    HTML <div class="form-group"> <label class="col-sm-3 control-label"> ...

  2. 轻松理解 Kubernetes 的核心概念

    Kubernetes 迅速成为云环境中软件部署和管理的新标准. 与强大的功能相对应的是陡峭的学习曲线. 本文将提供 Kubernetes 的简化视图,从高处观察其中的重要组件,以及他们的关联. 硬件 ...

  3. Java入门 - 高级教程 - 02.集合

    原文地址:http://www.work100.net/training/java-collection.html 更多教程:光束云 - 免费课程 集合 序号 文内章节 视频 1 概述 2 集合接口 ...

  4. ps入门

    目标:把运动截图的日期改掉.一次运动,天天装逼! 1 左上角   文件 -> 打开  选中要P的图片 2 CRTL 和 +号  放大 3 摁住空格键就可以用鼠标拖动图片(把要P的部分放到中间) ...

  5. Java容器解析系列(14) IdentityHashMap详解

    IdentityHashMap,使用什么的跟HashMap相同,主要不同点在于: 数据结构:使用一个数组table来存储 key:value,table[2k] 为key, table[2k + 1] ...

  6. Map梳理

    Map梳理 类型介绍 通用Map:用于在应用程序中管理映射,通常在 java.util 程序包中实现 HashMap.Hashtable.Properties.LinkedHashMap.Identi ...

  7. PTA 练习 7-24 喊山 (30 分)

    7-24 喊山 (30 分) 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出"喂-喂喂-喂喂喂--"的呼唤.呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的& ...

  8. Mavn 项目 引入第三方jar包 导致ClassNotFoundException

    案例 我有一个Maven构建的项目,项目模块之间有依赖关系,我需要用到一个本地的jar包,而该jar包不能通过配置pom.xml文件从远程仓库自动下载,于是我直接导入该jar包到其中一个项目,不通过p ...

  9. python 异常之进阶操作

    1.文件分析 下面来做一些文件分析操作,分析整本书的信息. 知识点: string.split():将字符串分解为列表. open(filename,‘rb’)或者open(filename,enco ...

  10. codeforces 540D Bad Luck Island (概率DP)

    题意:会出石头.剪刀.布的人分别有r,s,p个,他们相互碰到的概率相同,输的人死掉,问最终活下去的人是三种类型的概率 设状态dp(i,j,k)为还有i个石头,j个剪刀,k个布时的概率,dp(r,s,p ...