前言:
相信不少写过Python爬虫的小伙伴,都应该有和笔者一样的经历吧~只要确定了要爬取的目标,就开始疯狂的写代码,写脚本~经过一番努力后,爬取到目标数据;但是回过头来,却发现自己所代码复用性小,一旦网页发生了更改,我们也不得不随之更改自己的代码,而却自己的程序过于脚本化,函数化,没有采用OPP的思维方式;没有系统的框架或结构。
指导老师看了笔者的爬虫作品后,便给出了以下三点建议:
(1)爬虫爬取的数据根据需要存数据库或直接写入.csv文件;
(2)爬虫程序包括控制程序、URL调度器、页面加载器、页面分析器、数据处理器等,尽量用OOP的思想,写成类,便于扩充,而不要直接全写成脚本;
(3)控制程序最好使用一个用户界面,用于设置开始爬取的页面、数据存放位置、显示爬取情况等。
由于笔者知识和能力有限,刚听到这些建议时,很难明白他的意思,而笔者还偏执的认为既然已经成功的爬取到目标数据,也就没什么要做的啦,已经OK啦~直到昨天看了这个http://www.imooc.com/learn/563关于Python爬虫的课程后,才彻底的理解了老师教的~课程里系统的讲解了爬虫应有的框架和结构,使笔者收益匪浅,故在此总结,反思,希望对大家有帮助。
这里先为它,打个小广告吧~笔者个人认为,不管你是资深的Python爬虫专家,还是才接触爬虫的新手,都应该来看一看,为你以后的Python爬虫工作添砖加瓦,广告语“慕课网—程序员的梦工厂”。
PS:以下截图,为笔者再听课时截图整理所得,故都来源课程的PPT
总结:
1.爬虫思路

Python爬虫之框架学习
如上图所示,一般在开始爬虫时,都会经历这样的思考过程,其中最为主要和关键的分析目标,只有经过准确的分析和前期的充分准备,才能顺顺利利的爬取到目标数据。

2.爬虫的框架及运行流程图
接下来,就一起学习一下Python爬虫的框架吧~
Python爬虫之框架学习

爬虫的大致运行过程如下:
Python爬虫之框架学习

3.URL管理器
所谓的URL管理器,主要是由两个集合构成(待抓取URL集合和已抓取URL集合),其目的是为了防止重复抓取,循环抓取;
Python爬虫之框架学习

URL管理器的实现方式,分三种:a,Python内存(即集合);b,数据库(如MySQL,MongoDB等);c,缓存数据库
Python爬虫之框架学习

4.网页下载器
所谓网页下载器,即是将互联网上URL对应的网页下载到本地的工具
Python爬虫之框架学习

网页下载器,大致为request和urllib2两种;
Python爬虫之框架学习

这里详细描述了urllib2的三种下载方式及对应样例代码
A,方案一:简洁方法
Python爬虫之框架学习
Python爬虫之框架学习

B,方案二,添加网页头
Python爬虫之框架学习
Python爬虫之框架学习

C,方案三,添加COOK值
Python爬虫之框架学习
Python爬虫之框架学习

5.网页解析器
下面,我们来看看,如何解析一个网页文件
Python爬虫之框架学习
Python爬虫之框架学习

这里详细的讲解一下,BeautifulSoup的语法及试样
Python爬虫之框架学习
Python爬虫之框架学习
Python爬虫之框架学习

好了,通过以上的学习,我们掌握了Python爬虫的框架。那么怎样才能写一个好的python爬虫工具呢?又该如何去编写代码,实现我们的爬虫功能呢?

相关文章:

  • 2021-11-30
  • 2021-12-10
  • 2021-11-20
  • 2021-05-05
  • 2022-02-07
  • 2021-12-26
  • 2022-01-18
猜你喜欢
  • 2021-09-06
  • 2021-08-21
  • 2021-11-09
  • 2021-10-17
  • 2021-12-25
  • 2021-12-06
  • 2021-11-30
相关资源
相似解决方案