scrapy分页抓取网页(Python应用场景Scrapy爬虫框架课程特色时间(4小时))

优采云 发布时间: 2022-03-03 20:12

  scrapy分页抓取网页(Python应用场景Scrapy爬虫框架课程特色时间(4小时))

  Python应用场景

  Scrapy爬虫框架

  课程特色

  时间就是生命,专注才是本质(4小时,完成Scrapy爬虫必备知识点讲解)

  完整的课程体系(应用场景、Scrapy架构、分页爬虫、全站爬虫、爬虫伪装)

  案例教学

  导师答题(拒绝助教,讲师当天答题)

  课程适合人群

  具备Py基础语法和面向对象开发思想,其他语言开发者,浪子,想一夜暴富的人

  建筑与环境建设

  文章目录Scrapy介绍

  Scrapy组件介绍

  点安装scrapy

  Scrapy 简介

  一个快速、高级的屏幕抓取和网页抓取 Python 框架,用于抓取网站并从页面中提取结构化数据,可用于数据挖掘、监控和自动化测试,并可根据特定需求定制。Scrapy架构图:

  Scrapy组件介绍 Scrapy Engine(引擎):用于处理整个系统的数据传输,是整个系统的核心部分。

  Scheduler:用于接受引擎发送的Request请求,将其推入队列,当引擎再次请求时返回。

  Downloader(下载器):用于引擎发送的Request请求对应的网页内容,将获取到的Responses返回给Spider。

  Item Pipeline:负责处理Spider中获取的实体,清洗数据,保存需要的数据。下载器

  Middlewares(下载器中间件):主要用于处理Scrapy引擎和下载器之间的请求和响应。

  SpiderMiddlewares(爬虫中间件):主要用于处理Spider的Responses和Requests

  点安装scrapy

  通过 pip show scrapy 检查是否安装正常。如果已安装,则显示安装信息,否则不显示任何信息。

  通过pip install scrapy安装爬虫框架(大概率会抛出以下异常)

  根据异常,它缺少:错误:需要 MICROSOFT VISUAL C++ 9.0 (UNABLE TO FIND VCVARSALL.BAT)。GET IT FROM 需要下载一个缺少的窗口组件,在视频的学习资料中提供

  第一个爬虫项目

  文章目录

  创建一个scrapy项目

  创建蜘蛛解析器

  项目功能模块介绍

  配置用户代理伪装请求

  启动爬虫获取数据

  创建一个scrapy项目

  虽然是cmd命令创建的,但是可以通过scrapy -h查询相关子命令,最后通过scrapy startproject douban创建项目

  创建一个Spider解析器根据以上提示:cd douban,然后在项目中执行:scrapy genspider example 就可以创建一个Spider对象

  细心的朋友会发现,douban_spider默认会存放在douban.spider目录下。当你用pycharm IDE打开时,你会发现项目的结构如下:

  项目功能模块介绍scrapy.cfg:配置文件spiders:存放你的spider文件,也就是你爬取的py文件

  items.py:相当于一个容器,字典更像是middlewares.py:定义Downloader

  Middlewares(下载器中间件)和Spider Middlewares(蜘蛛中间件)的实现 pipelines.py:定义Item

  Pipeline的实现实现了数据的清洗、存储、校验。settings.py:全局配置

  配置用户代理伪装请求

  settings.py 配置User-Agent相关参数,否则爬取失败。

  启动爬虫获取数据

  在cmd dos窗口启动爬虫,默认会下载douban_spider中配置的start_urls地址

  Xpath 语法简介

  文章目录

  Xpath 简介

  Xpath 语法

  Xpath 实践

  Xpath 简介

  XPath 是一种用于在 XML 文档中查找信息的语言。XPath 用于浏览 XML 文档中的元素和属性。事实上,HTML 是一种特殊的 XML。因此,在学习 XPath 时,您需要了解基本的 HTML 和 XMLXPath。使用路径表达式在 XML 文档中导航

  XPath 收录一个标准函数库

  XPath 是 XSLT 中的主要元素

  XPath 是 W3C 标准

  Xpath 语法

  Xpath 实践

  Xpath 获取有价值的数据

  文章目录

  豆瓣电影页面分析

  首页下载实现

  前5名电影数据如下

  豆瓣电影页面分析为您讲解了如何在 XML 文档中查找信息。具体来说,你已经学会了如何获取元素、内容和属性,你也知道了如何通过标签的属性进行过滤和过滤。本章讲解如何通过xpath获取豆瓣数据

  首页下载实现

  前5名电影数据如下

  项目模型封装数据

  文章目录创建Item模型层

  封装爬取的数据

  yield的语法介绍

  在创建Item模型层之前,我们可以获取第一页的数据,但是只能在控制台打印。Scrapy 中还有一个 Item 模块。这个类就是模型层,主要完成对值数据的封装,然后写入数据库。

  将爬取的数据封装起来,将爬取的数据存储在豆瓣项目对象中,然后交给item_list,最后返回到Item_list

  yield的语法介绍

  一个有yield的函数就是一个*敏*感*词*,它不同于普通的函数,生成一个*敏*感*词*看起来像一个函数调用,但是在它上面调用next()之前不会执行任何函数代码(在for循环中,next()是自动调用。)) 开始执行。执行流程虽然还是按照函数的流程执行,但是每执行一次yield语句都会中断,并返回一个迭代值,在下次执行时从yield的下一条语句继续执行. 好像一个函数在正常执行的时候被yield打断了几次,每次打断都会通过yield返回当前的迭代值

  产量和自动翻页

  文章目录

  产量优势

  良率优化返回数据

  产量优势

  收益的好处是显而易见的。将函数重写为*敏*感*词*使您能够进行迭代。相比于使用类实例保存状态来计算下一个next()的值,不仅代码简洁,而且执行过程也非常清晰。

  在 Scrapy 爬虫框架中,yield 有一个很自然的使用场景,因为我们不知道爬虫每次获取的数据的大小。如果每次都一起返回,数据量会非常大。这时候如果使用yield来优化,代码会非常简洁高效

  良率优化返回数据

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线