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 scrapy

class NameSpider(scapy.Spider):
    name = "name"
    start_urls = [url, url....]

    def parse(self, response):
        pass

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

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

pase方法为爬取数据的逻辑

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

scapy crawl name

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

from scrapy import cmdline

cmdline.execute("scapy crawl name".split())

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

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

from scrapy import cmdline

cmdline.execute("scapy crawl name --logfile name.log".split())

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

将想要的数据进行保存

import scrapy


class 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将根据实际情况来决定启动顺序。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hive优化之逻辑类似or逻辑重复

今天拿到一个二次开发的需求,只是增加一个业务类型,开发起来倒是也蛮轻松。 但是,对自己的要求不难这么低,否则可替代性也太高了。 除了完成自己的那部分开发,当然展现自己实力的,可以是优化。 1&#x…

笔记:记录状态并判重的方法

题目(八数码问题) 编号为1-8的8个正方形滑块被摆成3行3列(有一个格子留空),如下图所示 81573642 每次可以把与空格相邻的滑块(有公共边才算相邻)一道空格中,而它原来的位置就成为…

AWS中国IAM用户强制使用MFA

问题 需要对IAM用户强制使用MFA方式进行登陆。 步骤 创建强制MFA登陆策略 找到策略创建入口,如下图: 将下述内容json策略内容,复制到编辑器里面,具体内容和操作如下: {"Version": "2012-10-17&qu…

JVS开源底座与核心引擎的全方位探索,助力IT智能、高效、便捷的进化

引言 JVS产品的诞生背景 JVS是软开企服构建的一站式数字化的解决方案,产生的背景主要来源于如下几个方面: 企业数字化需求的增长:企业对IT建设的依赖程度越来越高,数字化、指标化的经营已经是很多企业的生存的基础和前提&#…

工控 UI 风格美轮美奂

工控 UI 风格美轮美奂

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画…

车联网全方位安全适配与领先架构

设想一下如下场景: 您钟爱的座驾,在毫无外力破坏迹象的情况下,突然被侵入,远程启动,然后绝尘而去… 别以为这只是大银幕上的虚构桥段,事实上,这一幕在现实中已经上演。 某款备受欢迎的车型&a…

1.搭建SpringBoot项目三种方式

目录 1.使用Spring Initializr 1.1访问Spring Initializr: 1.2填写项目基本信息 1.3配置项目元数据: 1.4添加依赖: 1.5生成项目: 1.6下载项目: 1.7解压项目: 1.8导入项目到IDE: 1.9运行项目: 1.10创建控制器: 1.11访问应用 2.使用IDE(集成开发环境&…

测试基本原则-系统架构师(十六)

1、人口信息的采集处理和利用业务属于()。户籍管理属于()。 问题1问题2 A政府对公民 B政府对政府 C政府对企业 D公民对政府 解析:人口信息的采集处理和利用属于政府对政府,户籍属于政府对公民 答案&am…

替代LTC3855双通道多相带差分遥测DC-DC同步控制器

特性:双通道、180 定相控制器降低了所需的输入电容和电源感应噪声高效率:达 95%RSENSE 或 DCR 电流检测可编程 DCR 温度补偿0.75%、0.6V 输出电压准确度可锁相固定频率:250kHz 至 770kHz真正的远端采样差分放大器双路 N 沟道 MOSFET 同步驱动宽 VIN 范围…

对于todesk共享剪切板不好用的问题记录

todesk 远程复制粘贴 共享剪切版 1.对于已经开启todesk里面的共享剪切板设置的2. 如果此时仍不能远程复制粘贴,可以考虑查看快捷键映射的问题 1.对于已经开启todesk里面的共享剪切板设置的 2. 如果此时仍不能远程复制粘贴,可以考虑查看快捷键映射的问题 …

混合密码系统解析

1. 概述 混合密码系统(hybrid cryptosystem)是将对称密码和非对称密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合(hybrid)。用混合动力汽车来类比的话,就相当于是一种将发动机(对称密码)和电动机(非对称密码)相结合的系统。 混合密码系…

openstack-同一物理机中透传不同GPU时的nova配置记录

文章目录 前言一、不同加速卡的型号信息二、计算节点增加配置信息1.nova-compute服务的nova.conf 三、控制节点增加配置信息1.nova-conductor服务的nova.conf2.nova-scheduler服务的nova.conf3.nova-api服务的nova.conf 四、准备实例模版五、进行测试,创建虚拟机、检…

400技术汇 教你如何成为抓包高手!

Wireshark是目前使用最广泛的网络抓包分析工具,也是每一位网络攻城狮电脑里必装神器。当网络里发现恶意攻击、某人下载流量过大、设备互联丢包、协议交互失败等等情况时,通过Wireshark抓包定位问题根源,是最直接有效的手段。 然而如此强大的…

Excel 解析十六进制并查找

A1 格由多个人名及其考勤情况组成,比如,c 是十六进制的 1100,表示第 1、2 天到场,第 3、4 天缺席。目前只有 4 天的考勤。 AB1alice,c,bob,7,clara,a,mike,9/input: name and presence22/input: the day to be queried 要求根据…

conda install xformers -c xformers/label/dev 的安装问题

在StableSR项目框架中,需要执行 conda install xformers -c xformers/label/dev 但是报错,错误显示,版本不匹配,如下所示: 我改用pip来安装,好像就不报错了: pip install xformers

我原以为政务类网站不追求漂亮,打脸啦,漂亮得颠覆你认知。

我原本以为政务类网站一定时沉稳、工整、信息量大的,这些和漂流都关联不上,直到最近看了一些网站,发现我的认识狭隘了。 政务类网站的设计风格通常需要注重以下几个方面: 稳重和专业感: 政务类网站需要给人以稳重、正…

【HW必备】用友NC-Cloud存在17处漏洞合集

漏洞简介 NC Cloud是用友公司推出的大型企业数字化平台。支持公有云、混合云、专属云的灵活部署模式。NC Cloud完全基于云原生架构,技术先进、性能稳定、自主安全可控,支撑大中型以及超大型集团企业N层多site混合云部署方案,支持整个系统高可…

前端也需要知道的一些常用linux命令

前端也需要知道的一些常用linux命令 1.问题背景2.连接工具(SecureCRT_Portable)a.下载工具b.连接服务器c.登录到root账户 3.基本命令a.cd命令和cd ..b.ll命令和ls命令c:cp命令d.rm命令e:rz命令f.unzip命令g.mv命令h.pwd命令(这里没有用到&…

Isaac Lab 使用 Stable Baselines3 实现 Multi Input Policy

目前Isaac Lab支持的强化学习框架 Isaac Lab支持的强化学习框架介绍http://t.csdnimg.cn/h8u7Z调研下来,能够实现字典状态量,也就是多输入状态量的有 rsl_rl、sb3、(skrl不确定),rl_games是显然不支持的,自己改了一版&#xff0…