scrapy 简明开发步骤

scrapy爬虫使用简明教程 目录 一、基本框架介绍 二、安装与基本命令 三、scrapy框架基本使用及完整案例 四、各组件的一些用法说明 一、基本框架介绍 Scrapy框架介绍: Scrapy是: 由Python语言开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。 Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多... 阅读详情

1、开发环境

  • Win10、Python3.7、Anaconda、Pycharm、scrapy(version 1.6.0)

2、创建爬虫工程

Pycharm中运行Terminal,输入命令↓
cd路径
scrapy startproject 工程名
cd 工程名
scrapy genspider example example.com

3、修改 spider 中的 example.py

域名限制:
allowed_domains
要访问的url:
start_urls
导入item:
from …items import 工程名Item
修改parse:
item = 工程名Item()
parent_node = response.meta[‘parent_node’]
yield item
yield scrapy.Request(url, callback, meta={‘parent_node’: parent_node+1})

4、定义要爬取的字段:items.py

field = scrapy.Field()

ls = ['field1', 'field2', ...]
class 工程名Item(scrapy.Item):
    for fd in ls:
        exec(fd + '=scrapy.Field()')

5、配置:settings.py

浏览器伪装(line 19)

USER_AGENT = 'Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE)'

爬虫协议(line 22)

ROBOTSTXT_OBEY = False

日志等级(bottom)

LOG_LEVEL = 'INFO'
# LOG_FILE = 'log.txt'

6、用 shell 预抓网页信息

scrapy shell 网址
response.text
response.xpath('').extract()
response.xpath('').re('')

7、创建启动程序,初步测试

工程目录下创建【z.py】(z排最下容易找),并写入↓

from scrapy import cmdline
# 储存json模式
# cmdline.execute('scrapy crawl example -t json -o 工程.json -s FEED_EXPORT_ENCODING="utf-8"'.split())
# 普通模式
cmdline.execute(['scrapy', 'crawl', 'example'])
# 不打印日志
# cmdline.execute(['scrapy', 'crawl', 'example', '--nolog'])

8、数据存储(MySQL)

  • 修改pipelines
  • 然后设置settings中的ITEM_PIPELINES(line 67)
from pymysql.connections import Connection
from time import strftime
database = 'z_test'  # 库名
table = 'industry'  # 表名
clear = lambda x: x.strip().replace("'", '"')if isinstance(x, str)else x

class IndustryPipeline(object):
    def open_spider(self, spider):
        self.db = Connection('localhost', 'root', 'yellow', database, charset='utf8')
        self.cursor = self.db.cursor()
    def close_spider(self, spider):
        self.cursor.close()
        self.db.close()
    def process_item(self, item, spider):
        dt = dict({'collect_date': strftime('%Y-%m-%d')}, **item)  # 采集日期
        ls = [(k, clear(v))for k, v in dt.items()if v is not None]
        sql = 'INSERT %s (' % table + ','.join(i[0] for i in ls) +\
              ')VALUES(' + ','.join('%r' % i[1] for i in ls) + ');'
        self.cursor.execute(sql)
        self.db.commit()
        return item
  • 常用建表sql
CREATE TABLE tb_name(
serial_number INT(9) AUTO_INCREMENT COMMENT '编号',
url CHAR(255) UNIQUE NOT NULL COMMENT '统一资源定位符',
title VARCHAR(255) COMMENT '标题',
detail TEXT COMMENT '细节',
price FLOAT(3,2) UNSIGNED DEFAULT 1.23 COMMENT '价格',
public_time DATETIME COMMENT '发布时间',
collect_date DATE COMMENT '采集日期',
PRIMARY KEY (`serial_number`,`url`)
);
DROP TABLE tb_name;

9、附图

这里写图片描述

python安装scrapy步骤及问题 近期自学python,在安装scrapy时遇到了超时的问题,经过查看相关教程和不断摸索,最终成功安装,现把安装过程做记录并且分享给大家,希望有所帮助。 安装步骤(此处先PO出在无意外情况下安装scrapy的步骤,如在安装过程中有遇到问题,可以参考文末的“其他问题解决方法”)。 根据所学教程里面,安装scrapy需要有5个步骤,如下: scrapy安装步骤 步骤一、安装wheel 安装wheel是为了twisted做准备的。安装步骤简单,只需输入: python -m pip install wh 阅读详情

相关推荐

【Scrapy】Scrapy教程6——提取数据

前一小节我们拿到了页面的数据,那页面中那么多内容,我们想要其中的部分内容,该如何获取呢?这就需要对我们下载到的数据进行解析,提取出来想要的数据,这节就讲讲如何提取数据。

jayhgq的博客 1060

scrapy的入门使用

定义一个管道类重写管道类的process_item方法process_item方法处理完item之后必须返回给引擎## 爬虫文件中提取数据的方法每yield一次item,就会运行一次# 该方法为固定名称函数# 参数item默认是一个 类信息,需要处理成字典# 将返回的字典数据转为JSON数据# 写入JSON数据# 参数item:是爬虫文件中yield的返回的数据对象(引擎会把这个交给管道中的这个item参数)

__Samual的博客 2618

Scrapy框架爬取详细步骤

Scrapy框架(本文只做学习使用,请勿他用)1.需求工具 pycharm 小说网的域名 (www.qisuu.com)第一步—–创建文件创建成功后显示如图:第二步——将创建在桌面上的scrapy文件用pycharm打开:这是创建成功后在pycharm中的显示pycharm左下角打开 Terminal打开后如图 我第一次键入了一条命令 提示爬虫名字不能和项目名称一样,更改后再运行..成功建立爬虫

han_yanlong的博客 5611

Scrapy框架爬取苏宁图书信息

# -*- coding: utf-8 -*- import scrapy from SNBook.items import SnbookItem import re class SnBookSpider(scrapy.Spider): name = 'sn_book' allowed_domains = ['suning.com'] start_urls = ['ht...

自律 691

【Scrapy】Scrapy教程5——第一个Scrapy项目

通过前几节的学习,我们已经了解了Scrapy的基本操作,下面我们开始第一个项目,我以本人的为例进行爬虫讲解,之所以用我自己的网站,是因为我这个网站本来就是做知识分享用的,共大家学习,不会去限制爬取,现在很多网站为了防止爬虫,都会做很多限制策略,不适合新手练习,本人就提供这样一个练习平台给大家。

jayhgq的博客 1069

python:爬虫:Scrapy框架实例(详细步骤)

目标: 爬取以下网页内容,并存取到文件: 实现步骤: 产生步骤 步骤1:建立一个Scrapy工程 新建一个目录D:\pythontest\scrapy\pycodes,进入 目录,然后执行 命令 scrapy startproject python123demo 以上检测出并未安装 scrapy框架 : D:\pythontest\scrapy\pyco...

不花的花和尚的博客 2181

------Scrapy框架

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将...

qq_41299071的博客 421

【HarmonyOS】ArkUI的组件扩展

ArkuI的组件扩展主要是通过等装饰器来对于一些常用的自定义组件进行封装, 来简化UI开发流程, 提高自定义组件的可复用性。

2302_79763237的博客 1170

爬虫scrapy框架学习(二)

五、爬取苏宁易购下所有图书信息案例 5.1先利用scrapy框架创建一个爬虫项目,再创建sn_book_spider爬虫 5.2在sn_book_spider.py中构造请求,提取数据: 5.3案例总结:1.该案例最难的地方在于需要层层传递参数和请求数据, 请求顺序是分类-》列表-》详情, ...

小陈工的博客 340

深度排查:网讯网卡WX1860AL4千兆网口降速百兆的硬件陷阱

本文详细剖析了网讯网卡WX1860AL4千兆网口降速至百兆的硬件故障排查过程。通过分析千兆以太网硬件原理,提供从网线、供电到PCB走线、焊接残留的标准化检修流程,并分享两种典型硬件陷阱(线序错误与焊锡短路)的实战修复案例,为硬件工程师解决类似传输速率问题提供系统性的诊断思路与方法。

a3b4c5的博客 1113

Snort源代码编译 _ 采坑之旅(for Windows VS2015)

    系统环境:Windows7 sp1 x64     编译环境:VS2015 SP1     Snort版本:2.9.12     daq版本:2.0.6     Snort官网:https://www.snort.org/downloads#snort-downloads 背景     最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《...

magictong的专栏 8891

爬虫框架Scrapy(1)Scrapy框架安装与项目开发

文章目录一. Scrapy框架简介1. Scrapy 框架介绍2. 数据处理流程二. Scrapy 及其依赖库的安装三. Scrapy 项目开发流程1. 常用命令2. 创建 Scrapy 项目3. 创建 Spider4. 创建 Item5. 解析 Response6. 使用 Item7. 后续 Request(1)继承 Scrapy.spider(2)为 Spider 命名(3)设定起始爬取点(4)实现页面解析函数8. 运行9. 保存到文件四. 实例——爬取书籍信息1. 创建项目2. 创建爬虫3. 解析 R

Python达人 1550

创客学院嵌入式驱动开发——学习资料汇总

1.创客学院知识巩固-01C语言回顾_C/C++_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431050 2.创客学院知识巩固-02数据结构_Set_Mode的博客-优快云博客https://blog.youkuaiyun.com/Set_Mode/article/details/94431087 3.创客学院知...

snaking616 5118

Scrapy爬虫开发步骤总结

准备阶段 注:项目需要的所有指令均在cmd终端窗口或者shell终端键入。 一、输入指令scrapy startproject project_name创建scrapy项目 此命令会在当前路径下创建一个指定的项目,并在项目文件目录中生成scrapy爬虫需要的各个py文件,包括items.py、piplines.py、settings.py等。 二、输入指令scrapy genspider ...

perfer258的博客 747

Arduino ESP32 Web服务器从microSD卡读取

Arduino ESP32 Web服务器从microSD卡读取 将网页内容放到SD卡中,当有客户端数据请求时,从SD卡读取信息进行发送,比起SPIFFS文件系统,更节约板上的硬件资源。 SD卡接线说明 ESP32----- SD D5(GPIO 5)-----CS D18(GPIO 18)-----SCK D19(GPIO 19)-----MISO D23()GPIO 23-----MOSI 文件放置 需要把文件放置到SD卡的根目录下。注意SD卡的格式FAT32格式。 实例代码 /*

perseverance51博客 1435

【云原生技术】sonar的官方web接口,获取质量阀结果的接口

以下是一个示例思路,说明如何调用 SonarQube 的质量阀查询接口并在前端展示“哪些条件没过”。假设前端使用 AJAX 或 fetch 从后端接口拿到 SonarQube 返回的 JSON(或直接前端请求 SonarQube API),前端再把解析结果展示给用户。测试覆盖率 (Coverage) 当前仅有 60%,未满足最低 80% 的要求,需要补充测试或优化以提升覆盖率。接口),就会返回相应的质量阀状态信息;里使用它来查询当前质量阀(质量门)的状态。,你用它即可获取该次分析的质量阀状态。

weixin_46453070的博客 1281

【网络爬虫】Scrapy简要介绍及步骤示例

文章内容包括Scrapy的简要介绍、Scrapy在Window上的两种安装方法和一个阐述Scrapy使用步骤的简单示例。(仅用来记录网课笔记)

weixin_47074034的博客 2132

QCC305x-QCC304x系列开发教程之应用程序子系统详解 嵌入式

本文对QCC305x-QCC304x系列芯片的应用程序子系统进行了详细解析,并给出了一个LED闪烁的示例代码。嵌入式系统的开发既需要理论知识的支持,也需要实践经验的积累,希望本文能够为读者在QCC305x-QCC304x系列芯片的开发中提供一些有益的指导。QCC305x-QCC304x系列芯片提供了丰富的外设接口,包括UART、SPI、I2C等,开发者可以根据需求选择适合的接口进行数据传输和控制。QCC305x-QCC304x系列芯片的应用程序子系统是整个嵌入式系统的核心部分,负责管理和执行各种应用程序。

CodeMaven的博客 226

Scrapy简明教程

使用上甲网站作为实例,简要说明scrapy的主要流程

weixin_52030057的博客 297

74.9008深度刷机原理|高通QPST/Firehose底层刷写协议详解

移动设备刷机与底层维修技术指南 本文为移动设备维修人员和高级玩家提供全面的刷机与底层维修技术指南,涵盖高通、联发科和苹果A系列芯片的主要操作。 主要内容 核心操作:Bootloader解锁、Fastboot刷写、EDL深度修复、iTunes DFU模式恢复和分区表重建 适用场景:系统故障修复、底层损坏恢复、安全限制解除、系统降级和深度硬件维修 关键技术:详细解析刷机协议栈层级、关键分区作用和刷机安全机制 操作步骤: 环境搭建与驱动安装 Bootloader解锁(以小米为例) 高通机型系统刷写 苹果设备DFU

2601_95651806的博客 205

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

windows下scrapy的安装步骤

windows下scrapy的安装步骤 注意:前提要配置好python环境!! 1、安装wheel ; 命令安装 pip3 install wheel 2、安装lxml; 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 根据自己python版本下载对应的lxml,比如我的python版本是3.7.1就下载cp37. ...

沧海一滴水 327

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

利用Scrapy架构爬取网页数据步骤

Scrapy架构爬取网页步骤 一、新建项目 (scrapy startproject xxx):新建一个新的爬虫项目 1、在pycharm开发工具终端输入命令: scrapy startproject mySpider 2、执行命令之后在保存路径下会出现项目: 3、在pycharm中新建项目: 二、明确目标 (编写items.py):明确你想要抓取的目标 1、构建 ...

沧海一滴水 8311

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Scrapy爬取网页信息步骤

(5)lis那个标签可以理解为包含下面标签的主标签,一般复制的是li标签,复制下来是:li:nth-child(1),一般我们都是。步骤七:修改settings,添加请求头,修改robots权限为False,添加LOG_LEVEL = "WARNING"后面复制过来的selector是li标签后的,前面的就删除,注意div前面不要有空格。步骤二:在终端输入以下命令建包:(renyou_book可自定义,我这里爬的是人邮图书)观察所得:page 后面是变量,依此爬取后面页数的图书信息。(3)后面的标签要加。

2301_80940044的博客 941

pycharm安装scrapy步骤

在pycharm的terminal中直接运行pip install scrapy九成九都会报错;安装步骤如下: 安装pywin32 pip install win32 安装setuptools ``pip install setuptools``` 尝试安装Twisted,若安装失败则去python扩展网站下载; windows64位下载版本为:Twisted‑20.3.0‑cp39‑cp39‑win_amd64.whl 安装: pip install pip install E:\downlo

Mr-Bean的博客 1813

scrapy简明教程

scrapy 0.24 简明教程新建工程scrapy startproject <project-name>目录结构如下:│ scrapy.cfg └─demo │ items.py │ pipelines.py │ settings.py │ __init__.py │ └─spiders __init__.py添加

陈建虹(python) 962

windows下scrapy安装步骤

1.      官网下载python2.7.12并安装在路径D:/Python27目录下; 在windows命令行下进入目录,并输入python,显示: 则python安装成功 2.      配置python环境变量 电脑->属性->高级->环境变量->分别双击系统变量(S)中的Path和用户变量中的path->在结尾加上python路径名(此处为D:\Python27)。为测试是否

shanshanhi的博客 1万+
上一篇: 2、matplotlib 基本图表大全(极简)
下一篇: Python【print】常用颜色(复制用)
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值