抢券爬虫软件有哪些_Python爬虫 | 认知爬虫之请求与响应

1a847c013ee088aced399817f91cbdfc.gif 点击关注 不迷路 ed5eca24efc91171c4fab869471ee19b.gif

学习爬虫的优势及必要性

77a0096f381ebc1c36d076173226a309.png

      Python爬虫是模拟浏览器打开网页,获取网页中需要的部分数据。

      学习Python爬虫不仅充满趣味性,并垫基Python编程语言功底。可以说是入门IT行业的一条捷径,达到娱乐、学习二合一。喜欢看小说,搞笑图片?找工作还在一条一条筛选企业需求!做运营,做数据分析没有参考数据!业余时间想接个爬虫小需求挣个“零花钱”,爬虫帮你快速搞定。

        Python爬虫被公认为是易学习、易上手、充满趣味性,其中本系列文章会包含理论知识+示图代码、案例+内容总结,如果大家对其中哪些知识点想要加深了解可以在评论区留言。

       学习Python爬虫必须得用Python软件,anaconda自己带有python的编译器,其中集成了很多Python库。配置和安装很方便。非常适合入门学习。

01

anaconda软件下载及安装

77a0096f381ebc1c36d076173226a309.png

anaconda软件安装官网地址:https://www.anaconda.com/products/individual

30eee38cc4ea6fa496a5f960796653f8.png

Python基础知识和anaconda软件安装教程可参考本公众号安装配置文章,链接如下。

anaconda安装

大斌哥,公众号:数据山谷Python之Anaconda安装

02

Python在线编译器推荐

77a0096f381ebc1c36d076173226a309.png

   如果可利用空余时间,办公不方便,推荐两个在线撸代码Python3.0浏览器链接。

  • https://www.runoob.com/try/runcode.php?filename=HelloWorld&type=python3

    ce87ac7c601baee2c33703061e682437.png

  • http://www.dooccn.com/python3/

    3459a9941007c1808d57e29b25123495.png

03

爬虫基本原理

77a0096f381ebc1c36d076173226a309.png

   准备好我们的“利器”工具,现在就要传授“功法秘籍”了,什么是爬虫呢,爬虫是如何爬取数据?爬虫的基本原理是什么?

     网络爬虫(Web Spider)是一种按照一定的规则请求网站,自动地抓取数据信息的程序或者脚本。

d7718fabcbf9b4c33147d0d03a4e2e8f.png

04

基本原理--requests发起请求

77a0096f381ebc1c36d076173226a309.png

   通过HTTP库目标站点发起请求,即发送一个request,请求可以包含额外的headers等信息,等待服务器响应。

    我们打开一个网站链接时,过程是从客户端(例如:谷歌、火狐浏览器)发送请求到服务端(例如:你打开百度网站所在的服务器),服务器接收到了请求,处理,返回给客户端(浏览器),然后在浏览器上看到了展示的数据。

a56bcfe0fda516b9b3efa3b41d2fb6a6.png

    其中Elements为查找网页源代码,实时编辑DOM节点和CSS样式,Network从发起网页页面请求request后,分析HTTP请求得到的各个请求资源信息。Network中的参数值为我们本篇学习的主要内容。

0c361c2073789b085a91d4181be415ec.png

Network相关参数如下:

  • Header:列出HTTP头信息,包括请求url、HTTP方法、响应状态码【例如:200,,404等】、请求头和响应头及各自的值、请求参数等。

  • Preview:预览面板,据你所选择的资源类型【JSON、图片、文本】显示相应的预览。

  • Response:显示HTTP的Response响应信息,包含资源还未进行格式处理的内容。

  • Cookie:显示资源HTTP的Request和Response过程中的Cookies信息。

  • Timing:资源请求的详细信息花费时间。

05

基本原理--requests请求方法

77a0096f381ebc1c36d076173226a309.png

   request是指请求,在浏览器输入链接地址,点击搜索【或按回车键】,就是发送一个请求。

请求方式主要有Get、Post两种类型,还有Head、Put、Delete、Options等,因为爬虫最常用的为Post和Get方法,其他方法几乎不涉及,所以进行简单介绍。

  • Get用于数据的读取,请求指定的页面信息。是发送一个请求或者服务器的某种资源,通过一组HTTP请求头和呈现数据(例如:HTML文本、图、视频等)返回给客户端;

  • Post是向服务器提交数据。目前几乎所有的提交数据操作都是Post请求完成;

  • Head仅返回HTTP请求头信息给客户端;

  • Put和Post极为相似,都是向服务器发送数据,PUT通常指定了资源的存放位置,POST的数据存放位置由服务器自己决定 ;                 

  • Delete指删除某一个资源;

  • Options请求是用于客户端查看服务器的性能;

requests请求示例:

# requests请求时url地址可以直接指定为链接地址requests.get(url='https://www.baidu.com/s?ie=utf-8&wd=秃头少女25')

06

基本原理--URL遵循的标准格式

77a0096f381ebc1c36d076173226a309.png

   请求的URL【uniform/universal resource identifier】是全称统一资源定位符,URL主要用于两种目的,命名资源和提供资源的路径或位置,此时叫做统一资源定位符,例如一个网页的文档、图片、视频都可以用URL来指定。

其中 HTTP协议:http://或者https://;服务器的链接地址例如:

http//baidu.com

      浏览器中搜索秃头少女25,URL链接地址发生改变,链接中s?ie=utf-8&wd=秃头少女25是指定【utf-8】编码,【秃头少女25】为你指定搜索的关键字。

6017bbe729cf393614ab4164f2acb2f2.png

指定URL地址如下:

url = "https://www.baidu.com/s?ie=utf-8&wd=秃头少女25"

07

基本原理--requests请求头

77a0096f381ebc1c36d076173226a309.png

   请求头是指请求时的头部信息,如User-Agent、host、Cookies等信息。请求体是指请求时额外携带的数据,如表单提交时的表单数据。很多网站在申请访问的时候没有请求头无法访问,或者返回乱码,简单的解决方式就是伪装成浏览器进行访问,如添加一个请求头伪装浏览器行为。

7f9b039b991a15b7a6e158502d9e916a.png

requests请求头示例:

# 定义请求头headers为字典类型headers = {   "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36    (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"}

08

基本原理--response获取响应内容

77a0096f381ebc1c36d076173226a309.png

   如果服务器能够正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能 有HTML,Json字符串,二进制数据(如图片视频)等类型。

6fa38ffd910c739e1f9308577c89fcb4.png

接下来让我们把请求、请求头和返回相结合,完成一个简单的请求响应。

09

基础原理--请求响应示例

77a0096f381ebc1c36d076173226a309.png

   首先需要安装导入Python中的网络请求requests模块【该模块需要使用pip  install   requests在终端中安装】。

   找到访问链接中的请求头并定义为字典,使用Get请求方法,传入链接地址和请求头获取响应内容。其中response返回的结果为访问状态如:,response.text返回的是整个文本内容。

代码示例如下:

import requests# 定义请求头headers为字典类型headers = {   "User-Agent":'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}# 发送网络请求requests并获取响应结果responseresponse = requests.get(url='https://www.baidu.com/s?ie=utf-8&wd=秃头少女25',headers = headers)# 打印response会输出返回状态,打印response.text会输出网页文本print(response.text)

使用Python在线编辑器操作展示如下:

efa6773bf320ec4b56889434ce3d2233.png

10

基础原理--知识关键字总结

77a0096f381ebc1c36d076173226a309.png

requests(发起请求)、response(获取响应)、get (数据读取,请求指定的页面信息)、post(是向服务器提交数据)、url(统一资源定位符,指定网页的文档、图片、视频),hearders(请求时的头部信息)。

3fdbc3842178cdc3648a022eb0a1fc69.gif

   下一篇讲解【爬虫遵守协议及解析内容、保存数据】。关注微信号,每天练习一点点,学习爬虫不迷路,今天你又学“废” 了吗?

164ce47d605f8420e8c49ecfa82d6973.gif

点分享

2e51ca1c7c6d933e57b0cbc85e74f5de.gif

点收藏

72c755b59e42f7e9ac142cb2725f55d0.gif

点点赞

7a32af5fb5aac43faa1f0435f38c0b22.gif

点在看

20e829f14fd99b88327caa4923253a3e.png d7e62d693346bfc38d78f416f648a17e.png 2d0da69e0b0fdc95226928e4709cb0f6.png 0f6fd19e0276b80aa9cfd2dc7013304c.png fb19e5988b6ae1ef351f99366288f3fd.png

扫码关注我们

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值