喵叔责编
胡巍巍爬虫应用的广泛,例如搜索引擎、采集数据、广告过滤、数据分析等。当我们对少数网站内容进行爬取时写多个爬虫还是有可能的,但是对于需要爬取多个网站内容的项目来说是不可能编写多个爬虫的,这个时候我们就需要智能爬虫。智能爬虫目前有三种:1.基于网页内容的爬虫当网页含有大量需要提取的信息时,我们就需要用到基于网页内容的爬虫。该爬虫会将HTML视为文本并利用NLP技术进行处理。虽然说这种基于网页内容的爬虫可以减少爬虫的数量,但是需要人工参与进行训练NLP模型,没有AI开发经验或AI开发经验很少的程序员很难写出这类爬虫,并且爬虫爬取时间很长效率还很低。2.基于DOM结构的爬虫基于DOM结构的爬虫相对来说比较简单,就是将HTML解析为DOM树,然后根据语法结构进行提取信息,这种方法效率和准确性都比前一种方法高。3.基于视觉的爬虫基于视觉的爬虫的开发难度同样很高,它是通过浏览器接口或者浏览器内核对目标页面进行袁燃,然后基于网页的视觉规律提取网页数据。这种爬虫需要利用神经网络中的CNN卷积神经网络获取页面特定区域的内容。目前比较常用的只能爬虫框架是Readability和Newspaper。下面我们就来看一下这两个框架的讲解。NewspaperNewspaper是一个利用NLP的智能爬虫框架,可以从页面中提取出很多内容。安装这个爬虫框架需要首先安装依赖:shellsudoapt-getinstalllibxml2-devlibxslt-devsudoapt-getinstalllibjpeg-devzlib1g-devlibpng12-dev在上述安装中如果出现libpng12-dev出现错误,就需要安装libpng-dev。接下来就需要安装NLP语料库:shellcurl