(八)使用mysql存储爬取数据

时间:2021-07-20 06:42:36

一、从官网下载phpstudy与其他前期准备

  cmd中

pip install pymysql

  启动phpstudy,apache和mysql运行后 “其他选项菜单”-“MySQL工具”-“MySQL命令行” 

  密码为root

(八)使用mysql存储爬取数据

这是用的都是SQL语言,记得语句后加分号。

show databases;

(八)使用mysql存储爬取数据

接着创建表

create table good(id int(32) auto_increment primary key,title varchar(100),link varchar(100),comment varchar(100));

数据库创建完毕

二、pipelines.py与数据库进行链接

最后乱码了 终于解决!

 (八)使用mysql存储爬取数据

(八)使用mysql存储爬取数据

其中用到了

set names gbk;

它相当于下面的三句指令:

SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;

 这样输出的中文就不会乱码了!

下给出完整pipelines.py

import pymysql

class Dangdang2Pipeline(object):
def process_item(self, item, spider):
conn=pymysql.connect(host="127.0.0.1",user="root",passwd="root",db="dangdang",charset="utf8")
for i in range(len(item["title"])):
title=item["title"][i]
#.encode('utf8')
link=item["link"][i]
comment=item["comment"][i]
#print(title,link,comment)
sql="insert into good(title,link,comment) values ('%s','%s','%s');"%(title,link,comment)
#print(sql)
conn.query(sql)
conn.close()
return item

(八)使用mysql存储爬取数据