Scrapy库的使用
1. 什么是scrapy框架?
它是一个用的最多的一个爬虫框架,相当于一个爬虫模版,是爬虫代码的半成品。主要针对网站级的爬虫规模。具有可编写,可扩展的功能。
2. 框架的具体结构图
整个过程是这样的:spiders获取初始的url(程序员指定某个网站),产生requests。通过引擎放在scheduler上面。scheduler发现仅有一个url便立马通过引擎去downloader下载网页,downloader返回response通过引擎给spiders分析,是items就给item pipeline,是requests就在放到schedule上面。
注意:这里面一般spider与item pipeline可以修改。
通过上面的过程,整个网站的所有网页资源都可以获取。
3. requests库与scrapy库的比较
requests一般针对单个网页信息的提取
scrapy针对网站信息提取
但是request是个功能函数scrapy是个框架,灵活度肯定是requests的高,也就是可定制深度高。
4. scrapy命令
在命令行(cmd)中输入:
5.实例:
要求:爬取网页:http://python123.io/ws/demo.html
文件名称:demo.html
①建立工程
这里注意:你想在哪个文件夹里建立工程,你就在哪个文件夹里打开shell。输入命令,就可以在这个文件夹下建立工程。
这里在E盘建立命令得到:
②产生爬虫
在当前文件夹里打开shell输入命令:
在文件夹里就会产生一个:demo爬虫文件:
这个demo.py就是一个类文件:
③配置spider
在属性里面把名字,起始的网站赋值。
在parse函数里把数据流传来的的response的网页内容写在一个文件夹里。以备后续使用。
总的来说,整个过程就是:
这里在对这就个关键的爬虫数据类做出说明:
另外。spider提供了很多的解析方法:
如:BeautifulSoup,xml,CSS等;
这里介绍一下CSS的解析方法: