如何爬取豆瓣阅读的所有出版社?


  • 工具

  • 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 = '
(.*?)
' pat2 = '
(.*?) 部作品在售
' 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()
  • 结果


    如何爬取豆瓣阅读的所有出版社?_第1张图片
    txt文件

    如何爬取豆瓣阅读的所有出版社?_第2张图片
    数据库文件

你可能感兴趣的:(如何爬取豆瓣阅读的所有出版社?)