scrapy爬虫框架的详细用法
来源:互联网 发布:开农村淘宝靠什么赚钱 编辑:程序博客网 时间:2024/06/11 05:16
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrapy框架的安装,详见博客http://blog.csdn.net/qq_29186489/article/details/78736945,本文不再赘述。
本文以scrapy抓取一个网站为例子,来详细演示scrapy框架的详细用法。
目标网站:Quotes to Scrape,网址为:http://quotes.toscrape.com/
流程框架
抓取第一个页面
请求第一页的URL并得到源代码,进行下一分析
获取内容和下一页的链接
分析源代码,提取翻页内容,获取下一页链接等待进一步爬取
翻页爬取
请求下一页的信息,分析内容并请求下一页的链接
保存运行结果
将爬取文件存为特定的格式的文件或者存入数据库
具体代码实现及命令
相关命令
1:生成scrapy工程,工程的名称为quotetutorial
scrapy startproject quotetutorial
2:进入生成的工程目录
cd quotetutorial
3:生成爬虫,名称为quotes ,爬取的网址为:quotes.toscrape.com
scrapy genspider quotes quotes.toscrape.com
4:运行命令:scrapy crawl quotes,运行结果如下:
具体代码实现
1:定义item,具体代码实现如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2:编写spider,对返回的网页代码进行处理和遍历
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
3:实现pipline,对返回的ITEM进行处理
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
4:在settings文件中,启用pipline
- 1
- 2
- 3
- 4
- 5
- 6
完整代码的下载地址如下:https://gitee.com/TianYaBenXiong/scrapy_code/tree/master
- 顶
- 踩
- scrapy爬虫框架的详细用法
- scrapy爬虫框架的详细用法
- python爬虫框架-Scrapy安装详细教程
- Scrapy:Python的爬虫框架
- Python的爬虫框架 Scrapy
- scrapy爬虫框架的使用
- Scrapy:Python的爬虫框架
- Python爬虫抓取框架:Scrapy的架构
- 爬虫框架Scrapy的安装与简介
- Python网络爬虫框架scrapy的学习
- Scrapy:Python的爬虫框架----原理介绍
- Windows下Scrapy爬虫框架的安装
- 学习安装python的Scrapy爬虫框架
- 爬虫Scrapy框架的安装配置
- Scrapy -- Python的网络爬虫框架
- Scrapy框架的用法实例
- scrapy爬虫框架
- Scrapy爬虫框架入门
- 五年开发经验
- 模块化数据和模版填充页面,并且用本地存储来提高用户体验。
- 自己考试用的!!!!
- 数据结构实验之二叉树五:层序遍历
- SQL查询语句中select from where group by having order by的执行顺序
- scrapy爬虫框架的详细用法
- eclipse快捷键以及多行注释
- 使用TensorFlow进行特征提取(中层特征)以及mat文件转为tfrecord方法
- 【51nod】1073 约瑟夫环
- 插件webuploader实现文件上传
- 上班太远,换开发技术换工作,值得吗?
- 删除数据库所有存储过程的SQL语句
- python学习—Day44—多线程共享变量与线程池
- Java设计模式之命令模式