Home

韧桂

思考,总结

Python 爬虫库(7)-Scrapy

在我们编写爬虫之前,先了解一下scrapy的爬取机制,scrapy和绝大多数的爬虫喜欢用繁琐的正则表达式不同,他更喜欢使用的xpathCSS的类来搜索他要的信息,笔者试过很多正则表达式的框架,首先正则表达式本来就是个很繁琐的东西,而且经常会出错,重写正则表达式就会耗去大量的开发时间,而XPath的本就是为了解析HTMLXML而做的,非常方便,

不懂xpath的同学可以点这里:xpath教程

安装

pip3 istall scrapy

conda install scrapy

使用

在命令行中切换到要存储的位置 cd /d D:/xxx

创建Scrapy项目 scrapy startproject xxx

编写

设置 item.py : 十分的简单,只需要将希望获取的字段名填写进去。

然后在 spiders 文件夹中新建一个与项目同名的爬虫文件 xxx.py

然后编写 piplines.py ,处理 spider 爬到的内容,定义我们的储存。如保存到数据库还是保存到普通文件夹中。

最后设置 setting.py

ROBOTSTXT_OBEY = True 设置为 False

将下列部分的注释去掉
ITEM_PIPELINES = {
    'dingdian.pipelines.DingdianPipeline': 300,
}

等

运行程序

在项目目录下打开终端,并执行以下命令。

scrapy crawl 项目设置的爬虫名字 或者 scrapy crawl 项目设置的爬虫名字 -o item.json

第二条命令中,我们没有 pipelines.py 中将爬取结果进行存储,所以我们使用 scrapy 提供的导出数据命令,将 15 条电影信息导出到名为 items.json 文件中。

其中 vmoive 为刚才在 爬虫文件 中定义的 name 属性的值。

友链:

scrapy初探

欢迎关注我的公众号:「韧桂」

韧桂 2018-08-07