当前位置: 首页 > news >正文

pc手机模板网站建设地方同城网站开发

pc手机模板网站建设,地方同城网站开发,百度网页版进入,wordpress儿童主题目录 二十六、Python爬虫的Scrapy爬虫框架26.1 Scrapy下载安装26.2 创建Scrapy爬虫项目1) 创建第一个Scrapy爬虫项目 26.3 Scrapy爬虫工作流程26.4 settings配置文件 二十六、Python爬虫的Scrapy爬虫框架 Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架#xff0c;该框架… 目录 二十六、Python爬虫的Scrapy爬虫框架26.1 Scrapy下载安装26.2 创建Scrapy爬虫项目1) 创建第一个Scrapy爬虫项目 26.3 Scrapy爬虫工作流程26.4 settings配置文件 二十六、Python爬虫的Scrapy爬虫框架 Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架该框架使用纯 Python 语言编写。Scrapy 框架应用广泛常用于数据采集、网络监测以及自动化测试等。 提示Twisted 是一个基于事件驱动的网络引擎框架同样采用 Python 实现。 26.1 Scrapy下载安装 Scrapy 支持常见的主流平台比如 Linux、Mac、Windows 等因此你可以很方便的安装它。本节以 Windows 系统为例在 CMD 命令行执行以下命令 python -m pip install Scrapy由于 Scrapy 需要许多依赖项因此安装时间较长大家请耐心等待关于其他平台的安装方法可参考官方文档《Scrapy安装指南》。 验证安装如下所示 C:\Users\Administratorpython Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] on win32 Type help, copyright, credits or license for more information.import scrapyexit()如果可以正常执行exit()操作并且没有出现 ERROR 错误则说明安装成功。 26.2 创建Scrapy爬虫项目 Scrapy 框架提供了一些常用的命令用来创建项目、查看配置信息以及运行爬虫程序。常用指令如下所示 常用指令 命令 | 格式 | 说明 ---|---|--- startproject | scrapy startproject 项目名 | 创建一个新项目。 genspider | scrapy genspider 爬虫文件名 域名 | 新建爬虫文件。 runspider | scrapy runspider 爬虫文件 | 运行一个爬虫文件不需要创建项目。 crawl | scrapy crawl | 运行一个爬虫项目必须要创建项目。 list | scrapy list | 列出项目中所有爬虫文件。 view | scrapy view 1) 创建第一个Scrapy爬虫项目 下面创建名为 Baidu 的爬虫项目打开 CMD 命令提示符进行如下操作 C:\Users\Administratorcd DesktopC:\Users\Administrator\Desktopscrapy startproject Baidu New Scrapy project Baidu, using template directory d:\python\python37\lib\site-packages\scrapy\templates\project, created in:C:\Users\Administrator\Desktop\Baidu # 提示后续命令操作 You can start your first spider with:cd Baiduscrapy genspider example example.com打开新建的项目“Baidu”会有以下项目文件如图所示 图1项目文件 接下来创建一个爬虫文件如下所示 C:\Users\Administrator\Desktopcd Baidu C:\Users\Administrator\Desktop\Baiduscrapy genspider baidu www.baidu.com Created spider baidu using template basic in module:Baidu.spiders.baidu下面呈现了项目的目录树结构以及各个文件的作用 Baidu # 项目文件夹 ├── Baidu # 用来装载项目文件的目录 │ ├── items.py # 定义要抓取的数据结构 │ ├── middlewares.py # 中间件用来设置一些处理规则 │ ├── pipelines.py # 管道文件处理抓取的数据 │ ├── settings.py # 全局配置文件 │ └── spiders # 用来装载爬虫文件的目录 │ ├── baidu.py # 具体的爬虫程序 └── scrapy.cfg # 项目基本配置文件从上述目录结构可以看出Scrapy 将整个爬虫程序分成了不同的模块让每个模块负责处理不同的工作而且模块之间紧密联系。因此您只需要在相应的模块编写相应的代码就可以轻松的实现一个爬虫程序。 26.3 Scrapy爬虫工作流程 Scrapy 框架由五大组件构成如下所示 Scrapy 五大组件 名称作用说明Engine(引擎)整个 Scrapy 框架的核心主要负责数据和信号在不同模块间传递。Scheduler(调度器)用来维护引擎发送过来的 request 请求队列。Downloader(下载器)接收引擎发送过来的 request 请求并生成请求的响应对象将响应结果返回给引擎。Spider(爬虫程序)处理引擎发送过来的 response 主要用来解析、提取数据和获取需要跟进的二级URL然后将这些数据交回给引擎。Pipeline(项目管道)用实现数据存储对引擎发送过来的数据进一步处理比如存 MySQL 数据库等。 在整个执行过程中还涉及到两个 middlewares 中间件分别是下载器中间件Downloader Middlewares和蜘蛛中间件Spider Middlewares它们分别承担着不同的作用 下载器中间件位于引擎和下载器之间主要用来包装 request 请求头比如 UersAgent、Cookies 和代理 IP 等蜘蛛中间件位于引擎与爬虫文件之间它主要用来修改响应对象的属性。 Scrapy 工作流程示意图如下所示 图1工作流程示意图 上述示意图描述如下当一个爬虫项目启动后Scrapy 框架会进行以下工作 第一步由“引擎”向爬虫文件索要第一个待爬取的 URL并将其交给调度器加入 URL 队列当中对应图中1/2步骤。第二步调度器处理完请求后 将第一个 URL 出队列返回给引擎引擎经由下载器中间件将该 URL 交给下载器去下载 response 对象对应3/4步骤。第三步下载器得到响应对象后将响应结果交给引擎引擎收到后经由蜘蛛中间件将响应结果交给爬虫文件对应5/6步骤。第四步爬虫文件对响应结果进行处理、分析并提取出所需要的数据。第五步最后提取的数据会交给管道文件去存数据库同时将需要继续跟进的二级页面 URL 交给调度器去入队列对应7/8/9步骤。 上述过程会一直循环直到没有要爬取的 URL 为止也就是 URL 队列为空时才会停止。 26.4 settings配置文件 在使用 Scrapy 框架时还需要对配置文件进行稍微改动。下面使用 Pycharm 打开刚刚创建的“Baidu”项目对配置文件进行如下修改 # 1、定义User-Agent USER_AGENT Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) # 2、是否遵循robots协议一般设置为False ROBOTSTXT_OBEY False # 3、最大并发量默认为16 CONCURRENT_REQUESTS 32 # 4、下载延迟时间 DOWNLOAD_DELAY 1其余常用配置项介绍 # 设置日志级别DEBUG INFO WARNING ERROR CRITICAL LOG_LEVEL # 将日志信息保存日志文件中而不在终端输出 LOG_FILE # 设置导出数据的编码格式(主要针对于json文件) FEED_EXPORT_ENCODING # 非结构化数据的存储路径 IMAGES_STORE 路径 # 请求头此处可以添加User-Agent、cookies、referer等 DEFAULT_REQUEST_HEADERS{Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8,Accept-Language: en, } # 项目管道300 代表激活的优先级 越小越优先取值1到1000 ITEM_PIPELINES{Baidu.pipelines.BaiduPipeline:300 } # 添加下载器中间件 DOWNLOADER_MIDDLEWARES {}想要了解更多关于 Scrapy 框架的知识可参考官方文档https://docs.scrapy.org/en/latest/index.html
http://www.dnsts.com.cn/news/82519.html

相关文章:

  • 蚌埠网站建设网站 模板下载
  • 怎样学习做网站的编程中国新闻社招聘公示
  • 做网站待遇wordpress调用标签
  • 网站开发是做啥的机构协会
  • 杭州手机建站模板做旅游网站平台合作入驻
  • 十大网站建立公司电子商务软件
  • html5网站模板免费网站建设外包
  • 网站开发维护求职信青羊区定制网站建设报价
  • 免费下载设计素材网站网络销售有哪些
  • 做微信营销网站建设做海报挣钱的网站
  • 网站开发算什么费用苏州中心有什么好玩的
  • seo 网站地图库存网站建设定制
  • 做网站都有什么功能上海个人网站制作公司
  • 企业网站域名空间轻创灵感网站
  • 柳州网站wordpress滑动图片轮播
  • 贵阳好的网站建设公司网络营销期末总结
  • 商业网站建设常识设计网站的目的
  • dede电影网站模板免费网站建设是什么
  • 淘宝的网站怎么做定制开发小程序的公司
  • 建筑设计地图网站石家庄职业技术学院
  • 用模板建站郑州工程设计公司官网
  • 企业手机网站建设策划书西安关键词优化软件
  • 中山电商网站制作搭建网站的步骤
  • 商城网站带宽控制什么管理系统好做
  • 门户网站建设方案 ppt有什么做海报的网站吗
  • 网站上的销售怎么做的辽宁网站建设多少钱
  • 水处理设备网站建设商务定制网站
  • 网站动态设计效果seo排名软件有用吗
  • 调兵山网站网站建设的课程设计
  • 盘锦网站建设多少钱东莞市天气