推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的豆瓣图书评论数据获取与可视化分析

更新时间:2019-12-24 16:30:45 大小:963K 上传用户:songhuahua查看TA发布的资源 标签:python数据获取 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

利用Python从豆瓣书评页面中获取图书相关数据,通过数据清洗、提取,把图书名称、作者、出版社、评论分数、评价人数等关键信息保存到MySQL数据库存储,并对评论分数、评价人数等进行可视化分析。实验结果表明,此方法可以快捷、有效地对豆瓣图书评论数据进行分析。


部分文件列表

文件名 大小
基于Python的豆瓣图书评论数据获取与可视化分析.pdf 963K

部分页面预览

(完整内容请下载后查看)
21 卷 第 4 期  
2018 12 月  
沙 洲 职 业 工 学 院 学 报  
Journal of Shazhou Professional Institute of Technology  
Vol. 21, No.4  
Dec. , 2018  
Python豆瓣图书评论数据获取与可视化分析  
周 洪 斌  
(沙洲职业工学院,江苏 张家港 215600)  
利用 Python 从豆瓣书评页面中获取图书相关数据过数据清洗图书名称版社论分数、  
评价人数等关键信息保存到 MySQL 数据库存储,并对评论分数、评价人数等进行可视化分析。实验结果表明,此方法可  
以快捷、有效地对豆瓣图书评论数据进行分析。  
关键词:Python;图书评论;数据分析  
中图分类号:TP391  
文献标识码:A  
文章编号:1009-8429(2018)04-0001-06  
Data Acquisition and Visual Analysis on Douban Book Review  
Based on Python  
Zhou Hongbin  
( Shazhou Professional Institute of Technology, Zhangjiagang 215600, Jiangsu, China )  
Abstract: In this paper, Python is used to obtain the book-related data from Douban book review page. Through  
data cleaning and extraction, key information such as book name, author, publishing house, comment score and  
numbers of evaluation are stored in MySQL database, and the review scores and numbers of evaluation are  
analyzed visually. Experimental results show that this method can quickly and effectively analyze Douban book  
review.  
Key words: Python; book review; data analysis  
引言  
豆瓣读书已成为国内信息全、用户数量大且非常活跃的专业读书网站,专注于为用户提供全面且精  
细化的读书服务。通过获取、分析豆瓣图书评论数据,可以对读者购书提供借鉴意义。采用 Python 可以  
快速获取、分析大量的豆瓣书评数据,得出可靠、准确的评论结果。  
1 相关技术简介  
1.1 Python 简介  
Python 语言具备易用、高效、可移植、可扩展等特性,已成为云计算、大数据、人工智能时代的首  
[1]  
选程序设计语言。 Python 语言已有 10 万多个第三方库(httpsꢁ//pypi.org/成了庞大的计算生态盖  
信息技术所有方向,如 requests、BeautifulSoup 库用于网络爬虫,re 用于正则表达式处理,sqlalchemy 用  
于数据库操作,matplotlib 用于绘图。[2]  
1.2 Python 爬虫技术  
requests 包用于抓取网页源代码入 requests 包后以用 requests.get()方法模拟 HTTP GET 方法发  
出请求到服务器,然后通过 text 属性取得服务器响应返回的网页内容(源代码具体代码如下:  
收稿日期:2018-10-30  
基金项目:2016 年江苏省高等职业教育产教深度融合实训平台建设项目(201618;  
江苏省教育科学“十三五”规划青年专项重点课题(C-b/2016/03/17。  
作者简介:周洪斌(1981ꢀ男,沙洲职业工学院电子信息工程系副教授。  
周洪斌:基于 Python 的豆瓣图书评论数据获取与可视化分析  
res = requests.get(url)  
html = res.text  
一般获得的网页内容数据比较复杂,可以使用 BeautifulSoup 进行网页解析,步骤如下:  
(1)导入 BeautifulSoup 库  
from bs4 import BeautifulSoup  
(2)创建 BeautifulSoup 类对象  
soup = BeautifulSoup(html.encode('utf-8'),"lxml")  
(3)调用 BeautifulSoup 类对象的 select()等方法抓取指定数据  
#抓取网页标题  
data=soup.select(“html head title”)  
1.3 Python 正则库  
实际应用中,抓取到的数据可能较为复杂,如网页中的超链接、电子邮箱、电话号码等,需要用到  
正则表达式进一步分析、提取数据。  
要使用正则表达式,首先导入 re 包,再用 re 包提供的 compile()方法创建一个正则表达式对象,然后  
可以用 findall()等方法查找符合正则表达式规则的字符串。如下面的代码用于查找电子邮件账户:  
import re  
regex = re.compile('[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+')  
emails = regex.findall(html.text)  
for email in emailsꢁ  
print(email)  
1.4 Python 操作数据库  
sqlalchemy 提供了 SQL 工具包,是 Python 用来操作数据库的常用库。我们可以通过调用 sqlalchemy,  
建立数据库操作模块 db.py,封装数据库查询和更新操作。具体步骤如下:  
(1)导入用到的库  
from sqlalchemy import create_engine  
from sqlalchemy.orm import sessionmaker  
(2)定义函数 db_conn(),用于建立数据库连接  
# 数据库连接  
def db_conn()ꢁ  
conn_info = "mysql+pymysqlꢁ//rootꢁ"  
engine = create_engine(conn_info, echo=False)  
db_session = sessionmaker(bind=engine)  
session = db_session()  
return session  
(3)定义 query_mysql()及 update_mysql()函数,分别用于数据查询以及更新操作  
# 数据库查询  
def query_mysql(sql_str)ꢁ  
session = db_conn()  
return session.execute(sql_str)  
# 数据库更新  
def update_mysql(update_sql)ꢁ  
session = db_conn()  
- 2 -  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载