python-day2爬虫基础之爬虫基本架构
今天主要学习了爬虫的基本架构,下边做一下总结:
1.首先要有一个爬虫调度端,来启动爬虫、停止爬虫或者是监视爬虫的运行情况,在爬虫程序中有三个模块,首先是URL管理器来对将要爬取的URL以及爬取过的URL这两个数据的管理,从URL管理器中,我们可以取出一个待爬取的URL,将其传送给网页下载器,下载器会将URL指定的网页下载下来存储成一个字符串,这个字符串会传送给网页解析器进行解析,一方面会解析出有价值的数据,另一方面,每个网页都有很多指向其他网页的URL,这些URL被解析出来之后,可以补充进URL管理器,URL管理器,网页下载器,网页解析器,这三个模块,就形成了一个循环,只要有相关联的URL,就会一直运行下去,以上这些模块就组成了一个简单的爬虫架构,这个架构的运行,就可以将互联网上相关联的网页都爬取下来。
2.给大家讲一下爬虫架构的运行流程:首先是调度器向URL管理器发出询问请求,问是否有待爬取的URL,然后URL管理器会返回一个信息(是或否)给调度器,如果有待爬取的URL的话,调度器会进一步发出获取待爬取URL的指令,URL管理器接收到该指令后,会将待爬取的URL发送给调度器,紧接着,调度器会将此URL传送给下载器,命令下载器下载URL所指向的内容,下载器下载完成后,会将下载内容返回给调度器,然后调度器接收到下载内容后会将其传送给解析器,解析器会将解析完的内容(包括价值数据、新的URL)返回给调度器,调度器将解析后的内容进行一系列操作,比如说存储下来,若有新的URL在解析内容中,又会重复以上步骤。
3.URL管理器的作用:管理好待爬取的URL集合以及已爬取的URL集合,防止重复抓取以及循环抓取。
4.URL管理器的实现方式主要有三种:(1)存放在内存之中 Python内存 待抓取URL集合:set()
已抓取URL集合:set()
(2)存放在关系数据库MySQL url(url,is_crawled)
(3)存放在缓存数据库redis 待抓取URL集合:set
已抓取URL集合:set
5.网页下载器:通俗的讲,网页下载器就是将网页内容下载到本地计算机的工具,将网页内容保存为本地文件或者内存字符串
python主要有两种网页下载器:urllib2和requests(这个今天学的不是很理解,以后在慢慢解释)
以上就是今天所学内容,因为是初学阶段,在一些方面可能理解的不是很确切,还请多多指正,大家共同学习,一起进步,谢谢。
python-day2爬虫基础之爬虫基本架构的更多相关文章
- python,Day2,基础 2
list和dict list是一种有序的集合,可以随时添加和删除其中的元素. 例如: >>>classmates = ['eason','grace','alice'] >&g ...
- Python——Day2(基础知识练习一)
1.执行Python脚本的两种方式1)调用解释器 Python +绝对路径+文件名称2)调用解释器 Python +相对路径+文件名称 2.简述位.字节的关系8位为1个字节 3.简述ASCII.uni ...
- 【学习笔记】第二章 python安全编程基础---python爬虫基础(urllib)
一.爬虫基础 1.爬虫概念 网络爬虫(又称为网页蜘蛛),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本.用爬虫最大的好出是批量且自动化得获取和处理信息.对于宏观或微观的情况都可以多一个侧面去了 ...
- Python爬虫基础
前言 Python非常适合用来开发网页爬虫,理由如下: 1.抓取网页本身的接口 相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl ...
- python 3.x 爬虫基础---Urllib详解
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 前言 爬虫也了解了一段时间了希望在半个月的时间内 ...
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
- python从爬虫基础到爬取网络小说实例
一.爬虫基础 1.1 requests类 1.1.1 request的7个方法 requests.request() 实例化一个对象,拥有以下方法 requests.get(url, *args) r ...
- python爬虫-基础入门-python爬虫突破封锁
python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...
- python爬虫-基础入门-爬取整个网站《3》
python爬虫-基础入门-爬取整个网站<3> 描述: 前两章粗略的讲述了python2.python3爬取整个网站,这章节简单的记录一下python2.python3的区别 python ...
随机推荐
- mysql 索引使用教程
1.什么索引 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的位置信息.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度. ...
- 【转载】webdriver 自动化测试如何定位到动态变化ID的iframe框内
大家知道,在自动化测试脚本编写过程中,如果页面上跳出一个iframe框时,我们是定位不到框内内容的,可以通过 driver.findElement(By.id("")); driv ...
- android 开发学习2
Dao dao = new Dao(yi_ji_lu_zhang_dan.this);List<GetOneRecord> list = dao.getAllRecord();//创建迭代 ...
- Ubantu学习笔记3
修改PATH环境变量 ~/.profile --->(在文件最后一行添加) PATH="要增加的路径:$PATH" 或者 export 使用变量="调用参数&quo ...
- struts2模型驱动传值问题
控制台错误提示: 2020-01-08 18:34:40,292 [http-nio-8080-exec-3] [org.apache.struts2.dispatcher.Dispatcher]-[ ...
- pycharm 的 使用 设置智能目录 Pycharm 断点跳转及 Step Over/Step Into/Step Out 等的区别
pycharm 右键点击文件夹 有个mark directiory as 根据需要给目录进行设置 Pycharm调试程序时,有时需要直接从第一个断点跳转至第二个断点,如果还是用单步调试的话就非常 ...
- FFmpeg的基本使用
1.FFmpeg理解 (1)FFmpeg是一个视屏.音频编码工具 (2)x项目名称mpeg来源mpeg编码标准,但不局限只能使用mpeg编码标准.FF 表示fast forward (3)被广泛使用. ...
- solr8.0.0基本安装和在springboot中的基本使用(win10)
1.下载solr 下载地址:http://archive.apache.org/dist/lucene/solr/ 该地址可以也可以下载以前的版本,我这边下载的solr-8.0.0.zip版本.下载完 ...
- 利用mysecureshell搭建sftp服务
1.下载对应的mysecureshell-1.33-1.x86_64.rpm包 2.安装mysecureshell-1.33-1.x86_64.rpm 3.添加ftp用户 useradd ftp 4. ...
- Asp.NET CORE安装部署
先安装IIS再安装这两个,不然后面各种bug HTTP 错误 500.19 代码 0x8007000d 解决方案 for win7_64 asp.net core IIS Web Core 1.比如最 ...