scrapy模块的基础使用

scrapy模块是爬虫工作者最常用的一个模块之一,因它有许多好用的模板,和丰富的中间件,深受欢迎。

一,scrapy的安装

可以通过pypi的指引进行安装

在终端内输入以下代码:

pip install scrapy

二,项目的建立

安装程序后,创建自己项目,在终端中输入以下代码

scrapy startproject yourprojectname

运行完成后,在终端中会提示你执行以下两个命令

需要依次执行

cd yourprojectname

创建你的爬虫模板 

scrapy genspider name name.com

name --根目录的名字, name.com --()域名

创建好之后,在pycharm中可以看到以下的目录:

在name.py中编写爬虫项目,name.py文件中会自带以下代码

import scrapyclass NameSpider(scapy.Spider):name = "name"start_urls = [url, url....]def parse(self, response):pass

其中name为爬取数据的名字,自定义。

此外还要加入要爬取的链接列表。

pase方法为爬取数据的逻辑

使用命令来启动爬虫程序(在终端运行以下代码)

scapy crawl name

也可新建一个文件,运行文件来启动爬虫程序,代码如下:

from scrapy import cmdlinecmdline.execute("scapy crawl name".split())

split()方法将其分割,因为在cmdline中是一个数组

也可将爬虫日志写入在文件中,避免输出在终端时,因终端可显示的长度有限,显示不完全。代码如下:

from scrapy import cmdlinecmdline.execute("scapy crawl name --logfile name.log".split())

爬取好的数据可以通过items.py文件中进行配置

将想要的数据进行保存

import scrapyclass HaodaifuItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()

存储的项目通过进入piplines.py文件中(pipelines.py在settings中默认不开启,需要手动开启 )

# Configure item pipelines
# See https://docs.scrapy.org/en/latest/topics/item-pipeline.html
# 项目管道
ITEM_PIPELINES = {"xxx.pipelines.Pipeline": 300,"xxx.pipelines.xxxPipeline":300,
}

pipslines.py文件中的项目名:数值

数值越小,优先级越高,越先启动,数值相同他们的启动顺序将是随机的,无法确定哪一个会先启动。在这种情况下,scrapy将根据实际情况来决定启动顺序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但…

springboot知识点大全

文章目录 LombokLombok介绍Lombok常用注解Lombok应用实例代码实现idea安装lombok插件 Spring InitializrSpring Initializr介绍Spring Initializr使用演示需求说明方式1: IDEA创建方式2: start.spring.io创建 注意事项和说明 yaml语法yaml介绍使用文档yaml基本语法数据类型字面…

联邦学习——学习笔记1:FedAvg算法

文章目录 本笔记参考自b站up主:丸一口 原视频链接 如上图,现有6个医院:眼科、儿科、妇科、骨科、综合医院1、综合医院2。中间节点为政府。 现政府要求用各个医院的数据训练某个模型,希望对某些疾病进行一些预测,数据…

微信小程序canvas拖动卡顿问题解决方法

微信小程序canvas拖动卡顿解决handleTouchMove 问题:滑动严重卡顿。 分析: 可能是**handleTouchMove执行太快**,使用计时器控制执行速度,明显变流畅,上滑很流畅,但是下滑依旧卡顿。 handleTouchMove(e) …

JavaScript-环境对象

环境对象 指的是函数内部特殊的变量this,它代表了函数运行时所处的环境 作用:弄清this指向谁,可以使代码更整洁 直接调用函数的话,this指向的就是window函数 随调用this就指向谁 function fn(){console.log(this);}fn(); 直接调用…

详解|什么样的SSL证书能助力企业通过等保与密评?

企业在过等级保护(简称“等保”)与密码评测(简称“密评”)的时候,SSL证书作为网络安全的基础组件之一,其选择与部署对于企业顺利通过等保测评与密评至关重要。那什么样的SSL证书能够有效助力企业达成这一目…

展厅设计关键因素有哪些

1、选择一站式服务公司 企业不论参加展会还是做展厅设计装修,其目的都是为了更好的展示公司的产品,从而促进与客户的合作。那么展厅设计首先是要找展厅设计公司来做的,不过现在市面上有很多公司都可以设计制作展厅,这就需要客户去…

【系统架构设计师】四、嵌入式基础知识(体系结构|嵌入式系统|多核处理器)

目录 一、嵌入式微处理体系结构 1.1 冯诺依曼结构 1.2 哈佛结构 二、嵌入式系统 2.1 定义 2.2 嵌入式系统特性 三、嵌入式系统的分类 四、嵌入式系统 4.1 嵌入式数据库系统EDBMS 4.1.1.使用环境的特点 4.1.2 系统组成 4.2 嵌入式操作系统EOS 4.3 嵌入式实时操作系…

如何选择适合的LabVIEW版本进行开发

选择适合的LabVIEW版本对开发项目的成功至关重要。LabVIEW版本众多,每个版本都有其独特的功能和适用场景。以下从多个角度详细介绍如何选择LabVIEW版本。 1. 功能需求 基础功能 LabVIEW Base:适用于基本数据采集和简单仪器控制。包括大部分常见的功能&…

如何通过自定义模块DIY出专属个性化的CSDN主页?一招教你搞定!

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 💯如何通过HTMLCSS自定义模板diy出自己的个性化csdn主页&#x…

速盾:cdn测试工具

CDN(Content Delivery Network,内容分发网络)是一种在互联网中广泛使用的技术,它能够将网站的静态资源分发到全球各地的节点服务器,以提高用户访问网站时的加载速度和稳定性。而CDN测试工具则是用来评估和监测CDN性能的…

Git回滚和撤销---吃上后悔药、坐上时光机

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 提交分3步:add、commit、push,回滚和撤销也分3种情况: 撤销add撤销commit回滚push,也就是回滚远…

Python机器学习分类算法(五)-- 最近邻算法(k-Nearest Neighbors,KNN)

最近邻算法原理 k-最近邻(k-Nearest Neighbors,KNN)算法是一种基本的机器学习分类和回归算法。在分类问题中,KNN通过测量不同特征值之间的距离来进行分类。它的工作原理是:存在一个样本数据集合,也称作训练…

哈尔滨等保的定级备案

哈尔滨等保的定级备案是确保信息安全,保障国家和人民利益的重要措施。在当前信息化社会,信息安全已成为国家发展的重要支撑,哈尔滨等保的定级备案工作显得尤为关键。本文将从哈尔滨等保定级备案的背景、定级标准、备案流程、实施意义等方面进…

Electron快速入门(一):用VS Code快速创建html+js+css编写的项目

创建一个文件夹(例如:start或者create-electron 都是小写英文字母有的插件才不会报错),并进入该文件夹,打开 vscode创建3个文件: 1. 名为 main.js 的文件是主进程 // main.js//用于控制应用程序寿命和创建…

如何把模糊的图片修复变清晰,怎么做?有那些方法?

模糊照片怎么修复清晰?有些照片可能会因为保存不当或其他原因而变得模糊,这些照片删掉又觉得可惜,那么如何让这些照片焕然一新呢?今天就给大家分享几种可以将这些珍贵的模糊照片修复为高清照片的方法。接下来,给大家演…

PostgreSQL源码分析——pg_basebackup

涉及到的代码主要在src/backend/replication以及bin/pg_basebackup中。 我们知道pg_basebackup是一个进行基础备份的工具,除了使用这个工具,还可以用底层API的方式进行基础备份,主要过程如下: 连接到数据库执行select pg_start_…

vue3面试题及答案

1、Vue3 出现解决了什么问题?它有哪些优势? Vue2 代码模式下存在的几个问题: 随着功能增加,复杂的组件代码越来越多,变得难以维护。主要原因是 vue2 通过选项 式API组织的代码,一个逻辑功能可能有多处代…

WPF——Binding

一、作用 将Window GUI的运行机理从 “事件驱动” 转变为 “数据驱动”。将UI界面与业务逻辑解耦,使得改动一个而无需改动另一个。数据逻辑层自成体系,使得无需借助UI也可进行单元测试。 二、基础 1. Binding源模板 Binding包括源与目标,源…

揭示数据库内核的奥秘--手写数据库toadb开源项目

揭示数据库内核的奥秘–手写数据库toadb 数据为王的时代 在信息化时代,数据已成为企业和应用不可或缺的核心,而数据库不仅是数据的仓库,更是支撑业务决策、系统运行的基石。对于求职者而言,掌握数据库知识已成为求职市场上的必考…