python爬虫requests简单案例_python网络爬虫(三)requests库的13个控制访问参数及简单案例...

酱酱~小编又来啦~😊

先来回顾一下什么是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 成为理想的数据交

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

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也将丢失。)

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("爬取失败")'''

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值