10、web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令

简介: Scrapy框架安装 1、首先,终端执行命令升级pip: python -m pip install --upgrade pip2、安装,wheel(建议网络安装) pip install...

Scrapy框架安装

1、首先,终端执行命令升级pip: python -m pip install --upgrade pip
2、安装,wheel(建议网络安装) pip install wheel
3、安装,lxml(建议下载安装)
4、安装,Twisted(建议下载安装)
5、安装,Scrapy(建议网络安装) pip install Scrapy

测试Scrapy是否安装成功

image

Scrapy框架指令

scrapy -h  查看帮助信息

Available commands:
  bench       Run quick benchmark test (scrapy bench  硬件测试指令,可以测试当前服务器每分钟最多能爬多少个页面)
  fetch         Fetch a URL using the Scrapy downloader (scrapy fetch http://www.iqiyi.com/  获取一个网页html源码)
  genspider        Generate new spider using pre-defined templates ()
  runspider      Run a self-contained spider (without creating a project) ()
  settings        Get settings values ()
  shell         Interactive scraping console ()
  startproject     Create new project (cd 进入要创建项目的目录,scrapy startproject 项目名称 ,创建scrapy项目) 
  version         Print Scrapy version ()
  view           Open URL in browser, as seen by Scrapy ()

创建项目以及项目说明

scrapy startproject adc  创建项目

项目说明

目录结构如下:

├── firstCrawler

│   ├── __init__.py

│   ├── items.py

│   ├── middlewares.py

│   ├── pipelines.py

│   ├── settings.py

│   └── spiders

│       └── __init__.py

└── scrapy.cfg

  • scrapy.cfg: 项目的配置文件
  • tems.py: 项目中的item文件,用来定义解析对象对应的属性或字段。
  • pipelines.py: 负责处理被spider提取出来的item。典型的处理有清理、 验证及持久化(例如存取到数据库) [](http://lib.csdn.net/base/mysql "MySQL知识库")
  • settings.py: 项目的设置文件.
  • spiders:实现自定义爬虫的目录
  • middlewares.py:Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出(items及requests)。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。

image

项目指令

项目指令是需要cd进入项目目录执行的指令

scrapy -h  项目指令帮助

Available commands:
  bench      Run quick benchmark test
  check      Check spider contracts
  crawl       Run a spider
  edit         Edit spider
  fetch       Fetch a URL using the Scrapy downloader
  genspider    Generate new spider using pre-defined templates
  list        List available spiders
  parse      Parse URL (using its spider) and print the results
  runspider    Run a self-contained spider (without creating a project)
  settings      Get settings values
  shell      Interactive scraping console
  startproject   Create new project
  version       Print Scrapy version (scrapy version  查看scrapy版本信息)
  view      Open URL in browser, as seen by Scrapy (scrapy view http://www.zhimaruanjian.com/  下载一个网页并打开)

创建爬虫文件

创建爬虫文件是根据scrapy的母版来创建爬虫文件的

scrapy genspider -l  查看scrapy创建爬虫文件可用的母版

Available templates:母版说明
  basic        创建基础爬虫文件

  crawl        创建自动爬虫文件
  csvfeed        创建爬取csv数据爬虫文件

  xmlfeed     创建爬取xml数据爬虫文件

创建一个基础母版爬虫,其他同理

scrapy genspider  -t  母版名称  爬虫文件名称  要爬取的域名 创建一个基础母版爬虫,其他同理
如:scrapy genspider  -t  basic  pach  baidu.com

image

scrapy check 爬虫文件名称 测试一个爬虫文件是否合规
如:scrapy check pach

 image

scrapy crawl 爬虫名称  执行爬虫文件,显示日志 【重点】

scrapy crawl 爬虫名称 --nolog  执行爬虫文件,不显示日志【重点】
【转载自:http://www.lqkweb.com

相关文章
|
6天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
21 4
|
8天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
46 3
|
13天前
|
设计模式 JavaScript 前端开发
浅谈JavaScript 框架在现代 Web 开发中的作用
浅谈JavaScript 框架在现代 Web 开发中的作用
26 12
|
8天前
|
前端开发 JavaScript UED
构建现代Web应用:使用React框架打造单页面应用
【10月更文挑战第9天】构建现代Web应用:使用React框架打造单页面应用
|
8天前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
14天前
|
存储 SQL 数据库
使用Python和Flask框架创建Web应用
【10月更文挑战第3天】使用Python和Flask框架创建Web应用
19 1
|
15天前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
14 1
|
15天前
|
开发框架 前端开发 数据库
使用Django框架构建一个完整的Web应用
【10月更文挑战第2天】使用Django框架构建一个完整的Web应用
26 1
|
6天前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
15 0
|
11天前
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。