python爬取小说(三)数据存储

由于时间关系,我们先把每章的内容存储到数据库。
需要用到sqlite
接着上一篇,在原基础上修改代码如下:

# -*- coding: utf-8 -*-
import urllib.request
import bs4
import re
import sqlite3
import time
print ('连接数据库……')
cx = sqlite3.connect('PaChong.db')
# #在该数据库下创建表
# 创建书籍基本信息表
cx.execute('''CREATE TABLE book_info(
       id INTEGER PRIMARY KEY   AUTOINCREMENT,
       title             verchar(128)     not null,
       img             verchar(512)      null,
       auther         verchar(64)      null,
       type             verchar(128)      null,
       status             verchar(64)      null,
       num             int      null,
       updatatime             datetime      null,
       newchapter             verchar(512)      null,
       authsummery             verchar(1024)      null,
       summery            verchar(1024)      null,
       notipurl             verchar(512)      null);
       ''')
# 创建章节内容表
cx.execute('''CREATE TABLE book_chapter(
       id INTEGER PRIMARY KEY   AUTOINCREMENT,
       book_id         int      null ,
       chapter_no         int      null ,
       chapter_name             verchar(128)      null,
       chapter_url             verchar(512)      null,
       chapter_content         text      null);
       ''')

print("Table created successfully")
print("数据库连接完成")

def getHtml(url):
    user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
    headers = {"User-Agent":user_agent}
    request = urllib.request.Request(url,headers=headers)
    response = urllib.request.urlopen(request)
    html = response.read()
    return html


# 爬取整个网页
def parse(url):
    html_doc = getHtml(url)
    sp = bs4.BeautifulSoup(html_doc, 'html.parser', from_encoding="utf-8")
    return sp
# 爬取书籍基本信息
def get_book_baseinfo(url):
    # 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值