如何爬取豆瓣阅读之有着出版社?


  • 工具

  • Python

  • urllib

  • re

  • sqlite3

  • 目标
    爬取豆瓣阅读网站的有出版社信息和每个出版社出售创作之多少,并以那保存在txt文件及sqlite数据库被。

  • 代码(中间来相同远在不能够明白的地方,求解答

#1.导入相关模块
import urllib.request
import re
import sqlite3
#2.读取网页信息并解码
url = "https://read.douban.com/provider/all"
data = urllib.request.urlopen(url).read().decode('utf-8','ignore')
#3.采用正则表达式提取目标内容
pat1 = '<div class="name">(.*?)</div>'
pat2 = '<div class="works-num">(.*?) 部作品在售</div>'
rst1 = re.compile(pat1).findall(data)
rst2 = re.compile(pat2).findall(data)
rst = zip(rst1,rst2)
#4.存储txt文件
with open('demo1.txt','w') as fh:
    for i,j in rst:
        line = i + ' ,' + j +'\n'
        fh.write(line)
#5.存储sqlite数据库
conn = sqlite3.connect('demo1.db')
curs = conn.cursor()
curs.execute('''
CREATE TABLE publish (
    publisher TEXT,
    num INTEGER
)
''')
query = 'INSERT INTO publish VALUES (?,?)'
for line in open('demo1.txt'):
    line = line.split(',')
    curs.execute(query,line)
#curs.executemany(query,rst) **为什么不能直接这样做?
#curs.executemany(query,rst) **为什么不能直接这样做?
#curs.executemany(query,rst) **为什么不能直接这样做?
conn.commit()
conn.close()
  • 结果
txt文件



数据库文件
网站地图xml地图