Scrapy组成

Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。

  • 引擎(Scrapy):用来处理整个系统的数据流,触发事务(框架核心)。
  • 调度器(Scheduler):用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 它来决定下一个要抓取的网址是什么, 同时去除重复的网址
  • 下载器(Downloader):用于下载网页内容,并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)
  • 爬虫(Spiders):爬虫是主要干活的, 用于从特定的网页中提取自己需要的信息, 即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面
  • 项目管道(Pipeline):负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
  • 下载器中间件(Downloader Middlewares):位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。
  • 爬虫中间件(Spider Middlewares):介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出。
  • 调度中间件(Scheduler Middewares):介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

Scrapy运行流程

  • 引擎从调度器中取出一个链接(URL)用于接下来的抓取
  • 引擎把URL封装成一个请求(Request)传给下载器
  • 下载器把资源下载下来,并封装成应答包(Response)
  • 爬虫解析Response
  • 解析出实体(Item),则交给实体管道进行进一步的处理
  • 解析出的是链接(URL),则把URL交给调度器等待抓取

Scrapy创建

安装好scrapy类库之后,就可以创建scrapy项目了,pycharm不能直接创建scrapy项目,必须通过命令行创建,打开pycharm的Terminal终端,输入scrapy startproject scrapy_demo命令。需要注意的是,环境变量必须要配好才能在cmd中显示scrapy命令.

对于Mac,由于Mac的python有多个版本,如果使用3.6的版本,不能直接在命令行运行scrapy,需要创建软链接(注意对应的版本)。

ln -s /Library/Frameworks/Python.framework/Versions/3.6/bin/scrapy /usr/local/bin/scrapy

看到下面的信息则说明创建成功了。

此时可以看到项目自动创建了以下几个文件

  • scrapy.cfg: 项目的配置文件
  • scrapy_demo/ :该项目的python模块,之后将在这里加入代码
  • items.py:项目中的items文件,用来定义我们要抓取的数据
  • middlewares.py:项目中的middlewares文件
  • pipelines.py:项目中的pipelines文件,用来对spider返回的item列表进行数据的保存等操作,可以写入文件或保存到数据库
  • setting.py:爬虫配置文件
  • spiders/:放置spider代码的目录(自己编写)

scrapy网站爬取

接下来,将对IEEE和arXiv网站进行爬虫,其中middlewares.py,init.py文件保持默认。

具体操作请访问https://www.omegaxyz.com/2020/02/03/python-scrapy/


更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

Python爬虫Scrapy入门相关推荐

  1. python爬虫——Scrapy入门(爬取西刺代理ip和port)

    一.创建项目 创建好的项目 二.创建爬虫 1.创建 一定要先进入刚才创建的爬虫项目文件中再创建爬虫 对比未创建爬虫,发现多了一个xici.py文件 2.查看网站君子协议(robots): 3.解释爬虫 ...

  2. python爬虫从入门到实战笔记——第四章Scrapy框架

    推荐阅读: python爬虫从入门到实战笔记--第一章爬虫原理和数据爬取 python爬虫从入门到实战笔记--第二章非结构化数据和结构化数据的提取 python爬虫从入门到实战笔记--第三章动态HTM ...

  3. python爬虫从入门到精通-Python爬虫从入门到精通视频(2018新版)

    原标题:Python爬虫从入门到精通视频(2018新版) Python在软件质量控制.提升开发效率.可移植性.组件集成.丰富库支持等各个方面均处于先进地位,并且随着人工智能的兴起,Python发展得越 ...

  4. Python爬虫新手入门教学(十):爬取彼岸4K超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  5. Python爬虫 - scrapy - 爬取妹子图 Lv1

    0. 前言 这是一个利用python scrapy框架爬取网站图片的实例,本人也是在学习当中,在这做个记录,也希望能帮到需要的人.爬取妹子图的实例打算分成三部分来写,尝试完善实用性. 系统环境 Sys ...

  6. Python爬虫——Scrapy 的基本使用

    文章目录 Python爬虫--Scrapy 的基本使用 1.创建 Scrapy 爬虫项目 2.Scrapy-创建爬虫文件 3.Scrapy-运行爬虫文件 Python爬虫--Scrapy 的基本使用 ...

  7. Python爬虫 scrapy框架爬取某招聘网存入mongodb解析

    这篇文章主要介绍了Python爬虫 scrapy框架爬取某招聘网存入mongodb解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建项目 sc ...

  8. python爬虫--Scrapy框架--Scrapy+selenium实现动态爬取

    python爬虫–Scrapy框架–Scrapy+selenium实现动态爬取 前言 本文基于数据分析竞赛爬虫阶段,对使用scrapy + selenium进行政策文本爬虫进行记录.用于个人爬虫学习记 ...

  9. Python爬虫从入门到精通——爬虫实战:爬取今日头条图片新闻

    分类目录:<Python爬虫从入门到精通>总目录 本文为实战篇,需提前学习Python爬虫从入门到精通中<基本库requests的使用>和<Ajax数据爬取(一):基本原 ...

  10. Python爬虫新手入门教学(十八):爬取yy全站小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

最新文章

  1. [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器...
  2. php 前端页面的路由,ThinkPHP5路由
  3. iodine免费上网——本质就是利用dns tunnel建立tcp,然后tcp proxy来实现通过访问虚拟dns0网卡来访问你的dns 授权server...
  4. YOLOv5添加注意力机制 Pytorch
  5. ASP.NET网站实现多语言版本 【转】
  6. svm硬间隔与软间隔(转)
  7. 做一个项目,平时都用到哪些工具提高效率(中) 【转】
  8. MySQL表的操作(二)
  9. Oracle的order by的中文排序问题
  10. Conda 的 yml 文件 Conda/PIP 国内镜像源的添加
  11. 我对顶级域名、一级域名和二级域名的认识
  12. 2.4 导集,闭集,闭包
  13. 5.2 node实现简单登录功能
  14. 计算机bootmgr丢失,如何修复BOOTMGR缺少错误
  15. 今天一起来探讨下 欧盟TPD
  16. homework530
  17. 前端开发者最常用的六款IDE
  18. 在线思维导图工具百度脑图
  19. JTree实现好友分组示例
  20. https+ip实现摄像头访问浏览器

热门文章

  1. C++11 列表初始化
  2. 39. (附加)二叉树是不是平衡二叉树(C++版本)
  3. Python基础知识笔记(二)
  4. java工程师_北京java工程师课程
  5. Django:MySQL查询结果为datetime.date无法转换为JSON
  6. Javascript特效:旋转木马轮播图
  7. logback.xml日志文件常用配置模板文件详解
  8. Anaconda Python安装,Spyder汉化及调试
  9. 论文阅读笔记(六)——GhostNet: More Features from Cheap Operations
  10. Github大盘点!2021年最惊艳的38篇AI论文