豆瓣读书是一个很好的读书平台,为我们提供了大量优秀的读书资源,但是如果需要批量处理或者进行数据分析时,需要将这些信息整理到一个数据库中,这就需要用到爬虫技术和MySQL数据库。
# 导入需要用到的模块 import requests from bs4 import BeautifulSoup import pymysql #建立与mysql的连接 conn=pymysql.connect(host='localhost', port=3306, user='root', password='mysql', database='book', charset='utf8') cur=conn.cursor() #爬取豆瓣读书的《三体》书评 url='https://book.douban.com/subject/2567698/comments/' def get_book_comments(url): res=requests.get(url) soup=BeautifulSoup(res.text,'html.parser') comments=soup.select('.short') for comment in comments: comment=comment.text.strip().replace('\n','') insert_sql="INSERT INTO comments(comment) values('{}')".format(comment) cur.execute(insert_sql) conn.commit() if __name__=="__main__": get_book_comments(url) cur.close() conn.close()
以上代码是一个爬取豆瓣读书《三体》书评并存储到MySQL中的实例。其中的get_book_comments函数使用BeautifulSoup解析HTML并选取所有评论,然后使用insert_sql将评论插入到comments表中。最后,我们要记得关闭游标和数据库连接。
这样,我们通过对豆瓣读书的网页进行解析,将所需的信息集成到了MySQL数据库中。这个例子虽然简单,但是能够说明这种技术的背后的逻辑。通过对其他书籍的爬取,我们也可以将数据实现自己所需的批量处理和数据分析。