Scrapy爬虫框架 -- Mysql数据库存储数据

本文指导如何使用Scrapy框架创建一个爬虫,抓取指定网站的内容,通过自定义的MyslqstPipeline将数据存储到MySQL数据库中。步骤包括项目初始化、配置文件修改、XPath解析、数据字段定义、数据库连接和数据插入操作。
摘要由CSDN通过智能技术生成

一、新建一个项目

scrapy startproject myslqst

二、进入到项目目录并增加爬虫文件xiaohua​

cd .\myslqst\
scrapy genspider xiaohua www.xxx.com

三、修改配置文件,并开启管道存储​

ROBOTSTXT_OBEY = False
LOG_LEVEL = 'ERROR'
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
ITEM_PIPELINES = {
   "myslqst.pipelines.MyslqstPipeline": 300,
}

四、目标地址

start_urls = ["https://www.XXX.com/lizhi/"]

五、获取标题内容

def parse(self, response):
   标题列表= response.xpath('/html/body/div[2]/div/div[3]/div[1]/div/ul/li')
   for i in 标题列表:
       标题=i.xpath('./a/text()').extract_first()
       print(标题)

六、将字段添加到items

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

七、在爬虫文件导入MyslqstItem函数,将获取的字段对象交给管道处理

from ..items import MyslqstItem
字段对象=MyslqstItem()
字段对象['标题']=标题
yield 字段对象

八、在管道文件接收获取的字段对象

class MyslqstPipeline:
    def process_item(self, item, spider):
        标题=item['标题']
        print(标题)
        return item

九、在mysql中新建一个数据库aiyou和一个表lizhi

十、管道文件导入mysql库,并创建数据库连接

import pymysql
连接对象=None
游标对象=None
def open_spider(self,spider):
    self.连接对象=pymysql.Connect(host='192.168.0.111', port=3306, user='root', password='', db='aiyou', charset='utf8')
    self.游标对象=self.连接对象.cursor()

十一、执行sql语句,添加内容

sql语句='insert into lizhi(标题) values ("%s")'%标题
self.游标对象.execute(sql语句)
self.连接对象.commit()

十二、关闭响应数据

def close_spider(self,spider):
    self.游标对象.close()
    self.连接对象.close()

十三、储存效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

web安全工具库

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

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

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

打赏作者

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

抵扣说明:

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

余额充值