python爬虫之路scrapy
python里面的yield怎么用?
yield from是什么意思?
scrpay
The best way to learn is with examples, and Scrapy is no exception.
常用命令
scrapy startporject
scrapy crawl hello
scrapy shell http://www.qq.com
打开页面
提取数据
保存参数
scrapy概述
就如同web开发有框架flask spring等等,爬虫也是有框架的,scrapy就是一个爬虫框架,或者说是爬虫引擎。
安装
pip3 install scrapy
使用
以爬取这个网站为例子 quotes.toscrape.com
- 第一创建一个爬虫应用。
scrapy startproject tutorial
目录结构如下
- 第二步写一个爬虫。爬取网站提取数据。
class QuotesSpider(scrapy.Spider):name = "quotes"def start_requests(self):urls = ['http://quotes.toscrape.com/page/1/','http://quotes.toscrape.com/page/2/',]for url in urls:yield scrapy.Request(url=url, callback=self.parse)def parse(self, response):page = response.url.split("/")[-2]filename = 'quotes-%s.html' % pagewith open(filename, 'wb') as f:f.write(response.body)self.log('Saved file %s' % filename)
解释说明
start_requests()
parse()
运行爬虫
scrapy crawl quotes
保存数据
parse yield的结果可以持久化的保存起来
follow links
首先定位到页面的links,注意这里的links可能是相对的,要进行转换
你可以在parse里面yield scrapy.Request,
response.follow 是Request的快捷写法
使用参数
使用场景,例如外部调用爬虫任务传递一个参数过来
- 第三步。在命令行里面导出爬取的数据。
可以通过shell进行调试
scrapy shell 'http://quotes.toscrape.com/page/1/'
view(response) 可以在浏览器里面打开
- 第四步递归爬取链接。
- 第五步使用爬虫参数。
scrapy架构
遗留问题
scrapy可以部署成一个服务吗?
python爬虫之路scrapy相关推荐
- Python爬虫5.3 — scrapy框架spider[Request和Response]模块的使用
Python爬虫5.3 - scrapy框架spider[Request和Response]模块的使用 综述 Request对象 scrapy.Request()函数讲解: Response对象 发送 ...
- python爬虫之路自学教程_python 爬虫学习之路
2016-6-18 --今天实现了第一个用urllib2实现的爬虫程序. --过程中发现 req = urllib2.Request(url,headers = headers) 总是报错: 主要原因 ...
- python爬虫入门(六) Scrapy框架之原理介绍
Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...
- pythonscrapy爬虫_零基础写python爬虫之使用Scrapy框架编写爬虫
网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻 ...
- Python爬虫扩展库scrapy选择器用法入门(一)
关于BeutifulSoup4的用法入门请参考Python爬虫扩展库BeautifulSoup4用法精要,scrapy爬虫案例请参考Python使用Scrapy爬虫框架爬取天涯社区小说"大宗 ...
- python爬虫之使用Scrapy框架编写爬虫
转自:http://www.jb51.net/article/57183.htm 前面的文章我们介绍了Python爬虫框架Scrapy的安装与配置等基本资料,本文我们就来看看如何使用Scrapy框架方 ...
- python爬虫教程:Scrapy框架爬取Boss直聘网Python职位信息的源码
今天小编就为大家分享一篇关于Scrapy框架爬取Boss直聘网Python职位信息的源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 分析 使用Crawl ...
- Python爬虫大战、 Scrapy分布式原理以及分布式部署
Python爬虫大战 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序 反爬虫:使用技术手段防止爬虫程序爬取数据 ...
- Python爬虫,利用scrapy来编写一个爬虫
本文将介绍我是如何在python爬虫里面一步一步踩坑,然后慢慢走出来的,期间碰到的所有问题我都会详细说明,让大家以后碰到这些问题时能够快速确定问题的来源,后面的代码只是贴出了核心代码,更详细的代码暂时 ...
最新文章
- ie6下常见的bug 调整页面兼容性
- 终于有人把分布式事物TCC讲明白了
- SQL Server执行计划的理解
- python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
- 最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
- Hibernate之必须导入jar包
- Java即时类| plus()方法与示例
- Android入门之文件系统操作(一)简单的文件浏览器
- 给 QtCtreator 工程文件 pro 配置 pthread库和liburcu库
- 【转载】Linux GCC常用命令
- python去噪函数_Python | 简单的扩音,音频去噪,静音剪切
- MP3免费音频文件下载
- error: command ‘gcc‘ failed with exit status 1
- 生物信息学笔记01-- 绪论
- ORB-SLAM:精确多功能单目SLAM系统
- 134.如何进行实时计算
- 麦咖啡未来三年将投资25亿,在中国内地布局超过4000家
- CTF常用工具之Burp Suit的下载、安装到使用
- abb限位开关已打开drv1_ABB LS30P11D11-R 限位开关
- mysql为何不建议使用外键_MYSQL外键的使用以及优缺点
热门文章
- 【今日CV 计算机视觉论文速览 第131期】Mon, 17 Jun 2019
- python列表数据类型-入门学习
- anaconda-虚拟环境的控制-新建-切换-删除
- bzoj 4660 Crazy Rabbit——LIS解决“相交”限制的思想
- 用if写一个备份mysql的脚本
- jQuery Mobile中jQuery.mobile.changePage方法使用详解
- 因政府禁令 微软 Windows 9 将作出重大调整
- 使用apache搭建tomcat集群
- Revit Family API 找到实体某一方向上的面。
- 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行