Python实战 | 只需“4步”入门网络爬虫(小白也会)

125 篇文章 0 订阅
25 篇文章 0 订阅

前言

网络爬虫(Web crawler),就是通过网址获得网络中的数据、然后根据目标解析数据、存储目标信息。这个过程可以自动化程序实现,行为类似一个蜘蛛。蜘蛛在互联网上爬行,一个一个网页就是蜘蛛网。这样蜘蛛可以通过一个网页爬行到另外一个网页。

网络爬虫也是获取数据的一个途径。对于大数据行业,数据的价值不言而喻,在这个信息爆炸的年代,互联网上有太多的信息数据,对于中小微公司,合理利用爬虫爬取有价值的数据,是弥补自身先天数据短板的不二选择。

根据上面的分析,我们可以把网络爬虫分为四步:

  • 获取网页数据

  • 解析网页数据

  • 存储网页数据

  • 分析网页数据

【----帮助Python学习,以下所有学习资料文末免费领!----】

第一步: 获取网页数据

获取网页数据,也就是通过网址( URL:Uniform Resource Locator,统一资源 定位符),获得网络的数据,充当搜索引擎。当输入网址,我们就相当于对网址服务器发送了一个请求,网站服务器收到以后,进行处理和解析,进而给我们一个相应的相应。如果网络正确并且网址不错,一般都可以得到网页信息,否则告诉我们一个错误代码,比如404. 整个过程可以称为请求和响应。

在这里插入图片描述

常见的请求方法有两种,GET和 POST。GET请求是把参数包含在了url里面,比如在百度里面输入爬虫,得到一个get 请求,链接为 https://www.baidu.com/s?wd=爬虫。而post请求大多是在表单里面进行,也就是让你输入用户名和秘密,在url里面没有体现出来,这样更加安全。post请求的大小没有限制,而get请求有限制,最多1024个字节。

在python程序里面,上述过程可以通过获取网页中的源代码实现,进而获得网页中的数据。首先看一下网址的源代码查看方法,使用google浏览器,右键选择检查,查看需要爬取的网址源代码,具体如下:从图可得知,在Network选项卡里面,点击第一个条目,也就是www.baidu.com,看到源代码。

在这里插入图片描述

在本图中,第一部分是General,包括了网址的基本信息,比如状态 200等,第二部分是Response Headers,包括了请求的应答信息,还有body部分,比如Set-Cookie,Server等。第三部分是,Request headers,包含了服务器使用的附加信息,比如Cookie,User-Agent等内容。

在这里插入图片描述

上面的网页源代码,在python语言中,我们只需要使用urllib、requests等库实现即可,具体如下。这里特别说明一些,requests比urllib更加方便、快捷。一旦学会requests库,肯定会爱不释手。

在这里插入图片描述

第二步:解析网页数据

在第一步,我们获得了网页的源代码,也就是数据。然后就是解析里面的数据,为我们的分析使用。常见的方法有很多,比如正则表达式、xpath解析等。

在这里插入图片描述

在Python语言中,我们经常使用Beautiful Soup、pyquery、lxml等库,可以高效的从中获取网页信息,如节点的属性、文本值等。

Beautiful Soup库是解析、遍历、维护“标签树”的功能库,对应一个HTML/XML文档的全部内容。安装方法非常简单,如下:

在这里插入图片描述

第三步:存储网页数据

解析完数据以后,就可以保存起来。如果不是很多,可以考虑保存在txt 文本、csv文本或者json文本等,如果爬取的数据条数较多,我们可以考虑将其存储到数据库中。因此,我们需要学会 MySql、MongoDB、SqlLite的用法。更加深入的,可以学习数据库的查询优化。

在这里插入图片描述

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON在python中分别由list和dict组成。Python官方json网址是
https://docs.python.org/3/library/json.html?highlight=json#module-json

具体使用方法如下:

在这里插入图片描述

第四步:分析网页数据

爬虫的目的是分析网页数据,进的得到我们想要的结论。在 python数据分析中,我们可以使用使用第三步保存的数据直接分析,主要使用的库如下:NumPy、Pandas、 Matplotlib 三个库。

在这里插入图片描述

  • NumPy :它是高性能科学计算和数据分析的基础包。
  • Pandas : 基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。它可以算得上作弊工具。
  • Matplotlib:Python中最著名的绘图系统Python中最著名的绘图系统。它可以制作出散点图,折线图,条形图,直方图,饼状图,箱形图散点图,折线图,条形图,直方图,饼状图,箱形图等。

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉Python基础👈

在这里插入图片描述

👉Python自动化办公教程👈

在这里插入图片描述

👉python爬虫 👈

在这里插入图片描述

👉python机器学习 👈

在这里插入图片描述

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码输入“领取资料” 即可自动领取
或者

点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/xiangxue888/article/details/129726286

了解python的副业:https://blog.csdn.net/xiangxue888/article/details/129726009

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值