1. Scrapy
我们已经知道如何获取网页源代码,解析数据。现在思考如何提高爬虫的规模,进而提高采集数据的“量”。Scrapy是基于Python的分布式爬虫框架。使用它可以非常方便地实现分布式爬虫。让开发者集中精力在数据的提取上。
(1)使用Scrapy获取网络源代码。
(2)在Scrapy中通过BeautifulSoup解析数据。
(3)在Scrapy中使用MongoDB。
(4)在Scrapy中使用Redis。
1.1
使用Scrapy创建工程的命令为:scrapy startproject <Your project name>
比如我创建scrapy startproject firstcrawl
由于Python在导入库的时候,会优先从当前工程文件夹中寻找满足条件的文件或者文件夹,如果工程的名称本身就为scrapy,那么Python就无法找到正常的Scrapy库的文件,这是对project name命名唯一的要求。
之后 cd <Your project name>
scrapy genspider example <url>
在Scrapy genspider命令中,有两个参数,“example”和“url”。其中,第1个参数“example”是爬虫的名字,这个名字可以取英文和数字的组合,但是绝对不能为“scrapy”或者工程的名字。s第2个参数“url”是需要爬取的网址。注意url没有’www’。这是因为在浏览器中直接输入“baidu.com”就可以打开百度的首页,输入’weread.qq.com’就可以打开微信读书首页。
在Pycharm下打开刚生成的爬虫项目,