NO.1_python_scrapy组成&爬取多页数据&连接数据库配置文件书写

在这里插入图片描述

scrapy框架组成及各部分作用

item pipelines:

用于存放需要存储数据的数据模型,一般格式为:

#需要存储多少中类型的数据就写多少行,一般是key_value组合
'数据名称,即·key' = scrapy.Field()

spiders

用于解析返回来的response

import scrapy 
from 项目名称.items import QSBKItem
#QSBKItem 在items.py中的一个类,装有数据模型
......
item = QSBKItem('字典中对应的key'='items.py中对应的模型名称')
#返回item,item是一个字典的形式,将item返回给了engine
yield item

engine

爬虫引擎,作为各个模块的中转站

pipelines

用于存储和过滤由spider爬取回来的数据,比如可以将数据存入数据库中等等

#这个函数是一定需要的,用于接收返回过来的item数据,并且执行保存和过滤数据的操作
def process_item(self,item,spider):
	......
#可有可无,在打开爬虫时运行的函数,一般是在需要爬虫在打开时执行某些操作时才需要该函数
def open_spider(self,spider):
	......
#可有可无,在关闭爬虫时运行的函数,一般是在需要爬虫在关闭时执行某些操作时才需要该函数
def close_spider(self,spider):
	......

Download

用于执行spider发出的网页请求,并且从网页中进行下载

scheduler

用于调度,如调度多url的请求,重复url的处理等

爬取多页数据

self.p += 1
if self.p <= 10:
	next_url = 'https://edu.csdn.net/courses/o280/p'+str(self.p)
	url = response.urljoin(next_url)#创建绝对url地址
	#再次调用parse函数来进行解析next_url
	yield scrapy.Request(url = url,callback = self.parse)

连接数据库的配置文件书写

ITEM_PIPELINES = {
	#后面的数字越小执行的顺序越靠前,是自动生成的
	educsdn.pipelines.Edu .... = 300,
	educsdn.mysqlines.Edu .... = 301
}
	MYSQL_HOST='localhost'
	MYSQL_DATABASE = '数据库的名称'
	MYSQL_USER = '用户名'
	MYSQL_PASS = '密码'
	MYSQL_PORT = '端口'#一般为3306
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

有情怀的机械男

你的鼓励将是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值