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

  1. 第一创建一个爬虫应用。
    scrapy startproject tutorial
    目录结构如下
  2. 第二步写一个爬虫。爬取网站提取数据。

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的快捷写法

使用参数
使用场景,例如外部调用爬虫任务传递一个参数过来

  1. 第三步。在命令行里面导出爬取的数据。
    可以通过shell进行调试
    scrapy shell 'http://quotes.toscrape.com/page/1/'

view(response) 可以在浏览器里面打开

  1. 第四步递归爬取链接。
  2. 第五步使用爬虫参数。

scrapy架构

遗留问题

scrapy可以部署成一个服务吗?

python爬虫之路scrapy相关推荐

  1. Python爬虫5.3 — scrapy框架spider[Request和Response]模块的使用

    Python爬虫5.3 - scrapy框架spider[Request和Response]模块的使用 综述 Request对象 scrapy.Request()函数讲解: Response对象 发送 ...

  2. python爬虫之路自学教程_python 爬虫学习之路

    2016-6-18 --今天实现了第一个用urllib2实现的爬虫程序. --过程中发现 req = urllib2.Request(url,headers = headers) 总是报错: 主要原因 ...

  3. python爬虫入门(六) Scrapy框架之原理介绍

    Scrapy框架 Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬 ...

  4. pythonscrapy爬虫_零基础写python爬虫之使用Scrapy框架编写爬虫

    网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻 ...

  5. Python爬虫扩展库scrapy选择器用法入门(一)

    关于BeutifulSoup4的用法入门请参考Python爬虫扩展库BeautifulSoup4用法精要,scrapy爬虫案例请参考Python使用Scrapy爬虫框架爬取天涯社区小说"大宗 ...

  6. python爬虫之使用Scrapy框架编写爬虫

    转自:http://www.jb51.net/article/57183.htm 前面的文章我们介绍了Python爬虫框架Scrapy的安装与配置等基本资料,本文我们就来看看如何使用Scrapy框架方 ...

  7. python爬虫教程:Scrapy框架爬取Boss直聘网Python职位信息的源码

    今天小编就为大家分享一篇关于Scrapy框架爬取Boss直聘网Python职位信息的源码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 分析 使用Crawl ...

  8. Python爬虫大战、 Scrapy分布式原理以及分布式部署

    Python爬虫大战 爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序 反爬虫:使用技术手段防止爬虫程序爬取数据 ...

  9. Python爬虫,利用scrapy来编写一个爬虫

    本文将介绍我是如何在python爬虫里面一步一步踩坑,然后慢慢走出来的,期间碰到的所有问题我都会详细说明,让大家以后碰到这些问题时能够快速确定问题的来源,后面的代码只是贴出了核心代码,更详细的代码暂时 ...

最新文章

  1. ie6下常见的bug 调整页面兼容性
  2. 终于有人把分布式事物TCC讲明白了
  3. SQL Server执行计划的理解
  4. python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
  5. 最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
  6. Hibernate之必须导入jar包
  7. Java即时类| plus()方法与示例
  8. Android入门之文件系统操作(一)简单的文件浏览器
  9. 给 QtCtreator 工程文件 pro 配置 pthread库和liburcu库
  10. 【转载】Linux GCC常用命令
  11. python去噪函数_Python | 简单的扩音,音频去噪,静音剪切
  12. MP3免费音频文件下载
  13. error: command ‘gcc‘ failed with exit status 1
  14. 生物信息学笔记01-- 绪论
  15. ORB-SLAM:精确多功能单目SLAM系统
  16. 134.如何进行实时计算
  17. 麦咖啡未来三年将投资25亿,在中国内地布局超过4000家
  18. CTF常用工具之Burp Suit的下载、安装到使用
  19. abb限位开关已打开drv1_ABB LS30P11D11-R 限位开关
  20. mysql为何不建议使用外键_MYSQL外键的使用以及优缺点

热门文章

  1. 【今日CV 计算机视觉论文速览 第131期】Mon, 17 Jun 2019
  2. python列表数据类型-入门学习
  3. anaconda-虚拟环境的控制-新建-切换-删除
  4. bzoj 4660 Crazy Rabbit——LIS解决“相交”限制的思想
  5. 用if写一个备份mysql的脚本
  6. jQuery Mobile中jQuery.mobile.changePage方法使用详解
  7. 因政府禁令 微软 Windows 9 将作出重大调整
  8. 使用apache搭建tomcat集群
  9. Revit Family API 找到实体某一方向上的面。
  10. 通过避免下列 10 个常见 ASP.NET 缺陷使网站平稳运行