0
点赞
收藏
分享

微信扫一扫

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

Ad大成 2023-04-05 阅读 84

一、新建一个项目

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

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

十、管道文件导入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()

十三、储存效果

Scrapy爬虫框架 -- Mysql数据库存储数据_字段_02

举报

相关推荐

0 条评论