python提交payload_Python爬⾍⼩⽩⼊门requests库
为什么要先说Requests库呢,因为这是个功能很强⼤的⽹络请求库,可以实现跟浏览器⼀样发送各种HTTP请求来获取⽹站的数据。⽹络上的模块、库、包指的都是同⼀种东西,所以后⽂中可能会在不同地⽅使⽤不同称谓,不要迷惑哦。
结合⼀个实例来讲解吧。我的⼀个设计师⼩伙伴常去⼀些设计类⽹站收集素材,其中有个⽹站Unsplash⾥⾯美图特别多,所以想要把⾥⾯的图⽚都保存下来,这样咱们的⼩爬⾍就登场了。说⼲就⼲,赶紧开始吧。先来准备环境
⼀、运⾏环境
· 系统版本
我使⽤的是Windows10。
好多⼩伙伴使⽤的是Mac,配置上基本相同。由于我多年混迹于微软的开发平台,经常使⽤Visual Studio、SQL Server啥的,⽤Windows⽤习惯了(其实主要是因为Qiong穷!)。所以这个教程我就以Windows系统为例了。
Python版本
我电脑装了好多个Python版本(学⼀个装⼀个。。。),不过推荐使⽤Anaconda这个科学计算版本,主要是因为它⾃带⼀个包管理⼯具,可以解决有些包安装错误的问题。去Anaconda官⽹,选择Python3.5版本,然后下载安装。python入门教程 下载
IDE
易语言实现扫码登录点我进⼊获取。
我使⽤的是PyCharm,是专门为Python开发的IDE。这是JetBrians的产品,点我进⼊获取。
⼆、requests 库的安装
使⽤Anaconda 版本的得⼩伙伴⼉:⽤管理员权限运⾏cmd命令窗⼝,然后输⼊conda install requests
看动图:
sql注入漏洞实战
直接使⽤Python3.5的⼩伙伴⼉输⼊这个命令:pip install requests
如果你机器上存在多个Python版本,要给Python3.5的版本安装requests库,需要输⼊以下命令:py -3 -m pip install requests
好啦,requests库安装完毕,接下来我们会在实际例⼦中演⽰它的使⽤。想要深⼊了解requests模块的⼩伙伴也可以仔细阅读英⽂官⽅⽂档,和中⽂官⽅⽂档,如果⽤到该⽂没有提到的功能,则查看⽂档即可。
三、开⼯运⾏
⾸先我们打开PyCharm,需要选择⼀下它的页⾯主题。选择你喜欢的风格,以及选择使⽤的Python版本。然后打开⼀个你想要存放爬⾍的⽬录,进⼊后长这样。
我们再创建⼀个python⽂件,输⼊第⼀⾏代码来导⼊requests库:import requests #导⼊requests库
然后⽤它来获取咱们的⽬标⽹页:
r = ('unsplash') #像⽬标url地址发送get请求,返回⼀个response对象
) #r.text是http response的⽹页HTML
在菜单栏点击“Run”,选择该⽂件(或者直接在窗⼝中点击右键,运⾏该⽂件):
执⾏完之后,底部会出现输出结果:
正割余割图像及性质可以看到底部是获取到的⽹页内容。这就完成了爬⾍的第⼀步,获取到了⽹页的HTML内容。
怎么样,很简单吧。
免费插图素材这只是⽤到了requests库的get请求,还有其他的请求使⽤也与之类似。下⾯我们简单介绍⼀下每个请
求的⽤法。
四、requests库的使⽤
因为有中⽂的官⽅⽂档,我就不介绍所有的功能了,只把常⽤到的说⼀下,⼤家⽤到更多功能的时候再去翻官⽅⽂档吧。
requests 库就是⽤来发送各种请求的,所以,我们就来看看各种请求怎么使⽤:
4.1 get 请求
r = ("unsplash")
这就是我们刚刚⽤到的。其实就是向⽹站发送了⼀个get请求,然后⽹站会返回⼀个response。r 就是response。⼤家可以在运⾏的时候查看r的type。print(type(r))
positionrelative什么意思get请求还可以传递参数:
payload = {'key1': 'value1', 'key2': 'value2'}
r = ("/get", params=payload)
4.2 POST请求
⽆参数的post请求:r = requests.post("/post")
有参数的post请求:
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("/post", data=payload)
post请求多⽤来提交表单数据,即填写⼀堆输⼊框,然后提交。
4.3 其他请求
其他⼀些请求例如put请求、delete请求、head请求、option请求等其实都是类似的。但是平时⽤的不多,就不仔细介绍了。有⽤到的可以去看官⽹⽂档哦。阅读官⽅⽂档是必备技能!
r = requests.put("/put")
r = requests.delete("/delete")
r = requests.head("/get")
r = requests.options("/get")
我们刚才⽤requests库发送http请求获得了⽹页的HTML内容,那么应该如何从HTML中获得图⽚呢?BeautifulSoup库就此登场啦,赶快去看⼀下篇来了解它的⽤法吧。
喜欢话关注⼩编关注更多专业知识!
喜欢和需要的⼩伙伴可以点击从这⾥获取哦!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论