Scrapy简单笔记(二)

数据库操作语言–sql

创建数据库表格的sql语句,输入表格名,括号内是表格的列名【随意】及类型【字符串varchar varchar(长度), 数字int tiny, 时间datetime, 文本text】

create table 表格名称 (column1 type, column2 type, ......, columnN type)

插入数据到数据库表格中【注意中英文字符,字符串数据需要引号包裹】

insert into 表格名称 (column1, column2, column3, ......, columnN) values(值1, 值1, 值1, ......, 值N)

查询语句【这个可以复杂可以简单】

select * from 表格名称

sqlite3链接操作

import sqlite3

conn = sqlite3.connect("db.sqlite") # 名称随意取,后缀也可以随意
cu = conn.cursor # cursor是光标的意思,在查询中很重要

cu.execute("这里放需要执行的sql语句")

# 在执行了查询语句之后,execute函数不会返回任何结果,提取查询出来的结果,需要如下语句
all_result = cu.fetchall()

注意:fetchall函数只能执行一次,执行第二次会无法获取。cu就是cursor,光标的意思。

查询到结果之后,光标在数据头部;执行一次后,光标就跑到了数据的尾部。

如果不需要再次拿到提取数据,只要再查询一次就可以了

当然,fetch有多个函数,fetchone、fetchall、fetchmany,分别得提取一个、提取全部、提取多个【指定】

数据获取完成之后,一定要记得关闭

conn.close()

pipelines.py的类结构解析

def open_spider(self,spider) #这个函数是爬虫开始运行的时候执行,链接sqlite数据库可以放这里

def process_item(self, item, spider) #爬虫从html中分析得到数据,传入item,item被丢到管道文件中,被这个函数接收。将item中的数据分析、清理、入库
    
def spider_close(self, spider) #爬虫关闭时,所做的操作。一般是关闭文件和关闭数据库

settings.py文件内容

ITEM_PIPELINES = {
   'zufang.pipelines.ZufangPipeline': 300,
}

ITEM_PIPELINES是启用的管道文件,在本项目中只有一个,直接添加进去

后面的数字,范围在1~1000内就可以了

完整项目代码下载链接:https://pan.baidu.com/s/1qYPi2iK

Scrapy课程链接:http://study.163.com/course/courseMain.htm?courseId=1003666043

Python教程、教程–传送门

    原文作者:布拉豆
    原文地址: https://www.jianshu.com/p/5ffb92beec12
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞