scrapy模块的基础使用

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

一,scrapy的安装

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

在终端内输入以下代码:

python 复制代码
pip install scrapy

二,项目的建立

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

python 复制代码
scrapy startproject yourprojectname

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

需要依次执行

python 复制代码
cd yourprojectname

创建你的爬虫模板

python 复制代码
scrapy genspider name name.com

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

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

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

python 复制代码
import scrapy

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

    def parse(self, response):
        pass

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

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

pase方法为爬取数据的逻辑

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

python 复制代码
scapy crawl name

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

python 复制代码
from scrapy import cmdline

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

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

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

python 复制代码
from scrapy import cmdline

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

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

将想要的数据进行保存

python 复制代码
import scrapy


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

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

python 复制代码
# 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将根据实际情况来决定启动顺序。

相关推荐
风跟我说过她1 天前
基于Scrapy-Redis的分布式房产数据爬虫系统设计与实现
redis·分布式·爬虫·scrapy
mylinke2 天前
构网变流器功率控制在dq坐标系下的下垂控制策略:实现准确功率跟踪与电压前馈响应
scrapy
聊天QQ:4877392783 天前
14bit 100M SAR ADC的Matlab建模探索
scrapy
养乐多q.♡12 天前
scrcpy 设置手机熄屏后不影响投屏
scrapy·智能手机·手机控制
韩立学长14 天前
【开题答辩实录分享】以《计算机类专业招聘信息爬取与查询系统设计与实现》为例进行答辩实录分享
python·scrapy·django
Aerelin14 天前
scrapy的介绍与使用
前端·爬虫·python·scrapy·js
生而为虫15 天前
31.Python语言进阶
python·scrapy·django·flask·fastapi·pygame·tornado
m***667315 天前
网页数据抓取:融合BeautifulSoup和Scrapy的高级爬虫技术
爬虫·scrapy·beautifulsoup
猫头虎16 天前
如何解决pip install网络报错SSLError: TLSV1_ALERT_PROTOCOL_VERSION(OpenSSL过旧)问题
网络·python·scrapy·pycharm·beautifulsoup·pip·scipy
桃子叔叔18 天前
爬虫实战|Scrapy+Selenium 批量爬取汽车之家海量车型外观图(附完整源码)一
爬虫·selenium·scrapy