现在的位置: 首页 > 搜索技术 > 正文

Python爬虫的流程是什么

2020年02月14日 搜索技术 ⁄ 共 1025字 ⁄ 字号 评论关闭

  对于网络爬虫技术的学习,其他教学很少有从整体结构来说的,多数是直接放出某部分代码。这样的方法会使初学者摸不着头脑:就好像是盲人摸象,有人摸到的是象腿,以为是一根大柱子;有人摸到的是大象耳朵,以为是一把大蒲扇等。

  在开始第一个爬虫之前,先从宏观角度出发说清楚两个问题:Python爬虫的流程是怎样的? 三个流程的技术实现是什么?

  值得说明的是,本书选择了Python 3作为开发语言,现在Python最新版为Python 3.7。熟悉Python 2的读者可以在本书代码的基础上稍加改动,用Python 2运行。值得注意的是,Python 2即将在2020年1月1日停止支持,因此建议初学者直接安装Python 3进行学习。

  由于本书的潜在读者多数使用Windows操作系统,因此本书大部分实例都是基于Windows编写和运行的。如果使用的是Linux和Mac OS操作系统,在搭建好Python平台之后也可以直接运行本书中的代码。

  Python爬虫的流程

  网络爬虫的流程其实非常简单,主要可以分为三部分:(1)获取网页;(2)解析网页(提取数据);(3)存储数据。

  (1)获取网页就是给一个网址发送请求,该网址会返回整个网页的数据。类似于在浏览器中键入网址并按回车键,然后可以看到网站的整个页面。

  (2)解析网页就是从整个网页的数据中提取想要的数据。类似于你在页面中想找到产品的价格,价格就是你要提取的数据。

  (3)存储数据也很容易理解,就是把数据存储下来。我们可以存储在csv中,也可以存储在数据库中。

  三个流程的技术实现

  下面列出三个流程的技术实现,括号里是对应的章节。

  1.获取网页

  获取网页的基础技术:requests、urllib和selenium(3&4)。

  获取网页的进阶技术:多进程多线程抓取(8)、登录抓取(12)、突破IP封禁(9)和使用服务器抓取(12)。

  2.解析网页

  解析网页的基础技术:re正则表达式、BeautifulSoup和lxml(5)。

  解析网页的进阶技术:解决中文乱码(10)。

  3.存储数据

  存储数据的基础技术:存入txt文件和存入csv文件(6)。

  存储数据的进阶技术:存入MySQL数据库和MongoDB数据库(6)。

  除此之外,后续还会介绍Scrapy爬虫框架,也会介绍分布式爬虫。

  如果对于上述技术不熟悉的读者也不必担心,本书将会对其中的技术进行讲解,力求做到深入浅出。

抱歉!评论已关闭.