第一个爬虫之存储到数据库,并用饼图显示

在MySpider工程的基础上,修改Pipeline.py文件,把数据存储到数据库中。

import sqlite3

class MyspiderPipeline:
    def __init__(self):
        # print("********************************")
        self.conn = sqlite3.connect("rooms.db")
        self.cur = self.conn.cursor()
        self.cur.execute('create table if not exists rooms_tb('
        + 'id integer primary key autoincrement,'
        + 'room,'
        + 'area,'
        + 'name)')
        # print("-*"*10)

    def process_item(self, item, spider):
        # print('room',item['room'])
        # 将每个ITEM数据插入数据表中
        # print("===============")
   
        self.cur.execute('insert into rooms_tb values(null, ?,?,?)',
        (item['room'], item['area'], item['name'])) 

        self.conn.commit()
        # return item

    # 当蜘蛛关闭时,关闭游标和数据库连接
    def close_spider(self, spider):
        self.cur.close()
        self.conn.close()

新建show.py文件代码如下:

import sqlite3
import pygal

conn = sqlite3.connect("rooms.db")
cur = conn.cursor()

cur.execute("select area, count(area) from rooms_tb group by area")

pie = pygal.Pie()

for col in cur:
    pie.add(col[0], col[1])

pie.title = "南山小区房出租分布"
pie.legend_at_bottom = True

pie.render_to_file("temp.svg")
pie.render()

实际效果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值