Python爬虫

可选择的IDE和编辑器

  • IDE:PyCharm、Spyder、Visual Studio等
  • 编辑器:Vim、Sublime Text、Atom等

Python3 是大势所趋, python2 正在逐步淘汰 毋庸置疑,我们选择python3

为什么要做网络爬虫?

首先请问:都说现在是"大数据时代",那数据从何而来?

  • 企业产生的数据:百度搜索指数、腾讯公司业绩数据、阿里巴巴集团财务及运营数据、新浪微博微指数 等...

大型互联网公司拥有海量用户,有天然的数据积累优势,还有一些有数据意识的中小型企业,也开始积累自己的数据。

百度指数阿里指数TBI腾讯浏览指数新浪微博指数

  • 数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所 等...

在各个数据交易平台上购买各行各业各种类型的数据,根据数据信息、获取难易程度的不同,价格也会有所不同。 数据堂国云数据市场贵阳大数据交易所

  • 政府/机构公开的数据:中华人民共和国国家统计局数据、中国人民银行调查统计、世界银行公开数据、联合国数据、纳斯达克、新浪财经美股实时行情 等...

通常都是各地征服统计上报,或者是行业内专业的网站、机构等提供。

中华人民共和国国家统计局数据世界银行公开数据联合国数据纳斯达克

  • 数据管理咨询公司:麦肯锡、埃森哲、尼尔森、中国互联网络信息中心、艾瑞咨询 等...

>

通常这样的公司有很庞大的数据团队,一般通过市场调研、问卷调查、固定的样本检测、与各行各业的其他公司合作、专家对话来获取数据,并根据客户需求制定商业解决方案。

麦肯锡埃森哲艾瑞咨询

  • 爬取网络数据:

如果数据市场上没有需要的数据,或者价格太高不愿意购买,那么可以利用爬虫技术,抓取网站上的数据。

拉勾网Python爬虫职位

网络爬虫是什么?

百度百科:网络爬虫

爬虫的更多用途

  • 12306抢票
  • 网站上的投票
  • 短信轰炸

关于Python网络爬虫,我们需要学习的有:

1. 对HTML页面的内容抓取(数据抓取)
2. 对HTML页面的数据提取(数据提取)
3. Scrapy框架以及scrapy-redis分布式策略(第三方框架)
4. 爬虫(Spider)、反爬虫(Anti-Spider)、反反爬虫(Anti-Anti-Spider)之间的斗争....

爬虫基础

我们可以把互联网比作一张大网,而爬虫即(网络爬虫)便是在网上爬行了蜘蛛。把网的节点比作个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就以被抓取下来了

爬虫概述

简单来说,爬虫就是获取网页并提取和保存信息的自动化程序

1.获取网页

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。源代码里包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息了。

之前讲过请求和响应的概念,向网站的服务器发送一个请求,返回的响应体便是网页源代码。所以,最关键的部分就是构造一个请求并发送给服务器,然后接收到响应并将其解析出来,那么这个流程怎样实现呢?

Python提供了许多库来帮助我们实现这个操作,如urlib.requests 等我们可以用这些库来帮助我们实现HTTP请求操作,请求和响应都可以用类库提供的数据结构来表示,得到响应之后只需要解析数据结构中的Body部分即可,即得到网页的源代码,这样我们可以用程序来实现获取网页的过程了。

2 提取信息

获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。首先,最通用的方法便是采用正则表达式提取,这是一个万能的方法,但是在构造正则表达式时比较复杂且容易出错。

另外,由于网页的结构有一定的规则,所以还有一些根据网页节点属性、CSS选择器或XPath来提取网页信息的库,如Beauiful Soup、pyquery、lxml 等。使用这些库,我们可以高效快速地从中提取网页信息,如节点的属性、文本值等。

提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得条理清晰,以便我们后续处理和分析数据

3.保存数据

提取信息后,我们一般会将提取到的数据保存到某处以便后续使用。这里保存形式有多种多样,可以简单保存为TXT 文本或JSON文本,也可以保存到数据库,如MySQL、MongoDB和redis等

4.自动化程序

说自动化程序,意思是说爬虫可以代替人来完成这些操作。首先,我们手工当然可以提取这些信息,但是当量特别大或者想快速获取大量数据的话,肯定还是要借助程序。爬虫就是代替我们来完成这份爬取工作的自动化程序,它可以在抓取过程中进行各种异常处理、错误重试等操作,确保爬取持续高效地运行。

5.爬虫分类

根据使用场景,网络爬虫又可分为 通用爬虫 和 聚焦爬虫 两种.

  • 通用网络爬虫,是捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。
  • 聚焦爬虫,是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息。
Iyoyo电子书 一本集作者多年开发经验的python电子书 all right reserved,powered by Gitbook文件修订时间: 2024年 16:59:30

results matching ""

    No results matching ""