Python爬虫学习(scrapy框架)一
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬虫学习(scrapy框架)一,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2247字,纯文字阅读大概需要4分钟。
内容图文
![Python爬虫学习(scrapy框架)一](/upload/InfoBanner/zyjiaocheng/614/75b26caad217485b96c6bb4c64c5e34e.jpg)
Scrapy入门
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。它使用Twisted 这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。
个人认为Scrapy是Pytho世界里最强大的爬虫框架,没有之一,它比BeautifulSoup更加完善,BeautifulSoup可以说是轮子,而Scrapy则是车子,不需要你关注太多的细节。Scrapy不仅支持python2.7,Python3也支持。
安装scrapy
pip install scrapy
Pip是一个python包管理工具,主要是用于安装pypi上的软件包,可以代替easy_install工具。没有安装过的建议安装一下,经常用到,具体安装自行百度一下~
如果安装出现报错Vc++14.0 Twisted 等问题
解决方法:采用离线安装
安装地址 https://www.lfd.uci.edu/~gohlke/pythonlibs/
在里面找到Twisted 对应的版本
然后终端中运行scrapy
再运行scrapy bench
如果是两步都没问题那就安装完成了
*scrapy bench 运行的时候报错 —> win 32
解决方法 :pip install pywin32
Scrapy原理
Scrapy五大基本构成:
Scrapy框架主要由五大组件组成,它们分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我们分别介绍各个组件的作用。
(1)、调度器(Scheduler):
调度器,说白了把它假设成为一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是 什么,同时去除重复的网址(不做无用功)。用户可以自己的需求定制调度器。
(2)、下载器(Downloader):
下载器,是所有组件中负担最大的,它用于高速地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的(其实整个框架都在建立在这个模型上的)。
(3)、 爬虫(Spider):
爬虫,是用户最关心的部份。用户定制自己的爬虫(通过定制正则表达式等语法),用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。 用户也可以从中提取出链接,让Scrapy继续抓取下一个页面。
(4)、 实体管道(Item Pipeline):
实体管道,用于处理爬虫(spider)提取的实体。主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。
(5)、Scrapy引擎(Scrapy Engine):
Scrapy引擎是整个框架的核心.它用来控制调试器、下载器、爬虫。实际上,引擎相当于计算机的CPU,它控制着整个流程。
Scrapy运行流程如下:
- 引擎从调度器中取出一个链接(URL)用于接下里的抓取
- 引擎吧URL封装成一个请求(Rcqucst)传给下载器
- 下载器把资源下载下来,并封装成应答包(Response)
- 爬虫解析Response
- 解析出尸体(ltem),则交给实体管道进行一步的处理
- 解析出的是链接(URL),则把URL交给调度器等待抓取
Time:2020/12/29
Name:Eamon
内容总结
以上是互联网集市为您收集整理的Python爬虫学习(scrapy框架)一全部内容,希望文章能够帮你解决Python爬虫学习(scrapy框架)一所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。