Python个人项目--豆瓣图书个性化推荐
项目名称: 豆瓣图书个性化推荐
需求简述:从给定的豆瓣用户名中,获取该用户所有豆瓣好友列表,从豆瓣好友中找出他们读过的且评分5星的图书,如果同一本书被不同的好友评5星,评分人数越多推荐度越高。
输入:豆瓣用户名
输出:豆瓣好友中评分最高,评分人数最多,且我没读过的10本书
步骤构想:
1. 通过给定的用户名,将下面链接douban_id替换后可查看该用户关注的好友列表(访问该路径需要先登录)
https://www.douban.com/people/douban_id/contacts
但如果是查看自己关注的好友则会跳转到:
https://www.douban.com/contacts/list
这两个页面展现形式不一样
2. 得到好友列表后通过访问 https://www.douban.com/people/douban_id/ 获取用户信息,保存在user表中, 字段包括:用户名、常居地、加入时间、签名,读过的书、想读的书、在读的书、最后更新时间
3. 得到好友列表后通过访问以下链接可以查看好友读过的书,获取书的信息和好友对书本的评分信息
https://book.douban.com/people/douban_id/collect
获取所有读过的书籍id列表(需要往后翻页,翻页的规律为每页15本书,https://book.douban.com/people/Fenng/collect?start=0&sort=time&rating=all&filter=all&mode=grid,从start=0开始第一页,start=15第二页,start=30第三页以此类推)
书的信息:https://book.douban.com/subject/book_id/ 包括ISBN、书名、作者、出版日期、页数、定价、封面图片、豆瓣整体评分、评价人数、内容简介、作者简介等
书的信息是静态信息,存入book表
好友评分、好友短评、读过的时间:
https://book.douban.com/people/Fenng/collect?start=300&sort=time&rating=all&filter=all&mode=grid
好友对书本的评价信息存入rating表,user_id, book_id做外键
4. 在rating表中找出好友评价5星的书,且我没看过的,然后按评价人数desc排序,取前十本
Python个人项目--豆瓣图书个性化推荐的更多相关文章
- 用python写项目之图书管理系统
1.功能介绍: (1).添加新书:输入要添加的书名.存放的书架号.价格. (2).修改书架:输入要书名,然后对其修改书架号.价格 (3).删除书架:输入书名,然后对应删除书名.书架号.价格 (4).查 ...
- Python爬虫(二)——豆瓣图书决策树构建
前文参考: https://www.cnblogs.com/LexMoon/p/douban1.html Matplotlib绘制决策树代码: # coding=utf-8 import matpl ...
- #1 爬虫:豆瓣图书TOP250 「requests、BeautifulSoup」
一.项目背景 随着时代的发展,国人对于阅读的需求也是日益增长,既然要阅读,就要读好书,什么是好书呢?本项目选择以豆瓣图书网站为对象,统计其排行榜的前250本书籍. 二.项目介绍 本项目使用Python ...
- Python爬虫(四)——豆瓣数据模型训练与检测
前文参考: Python爬虫(一)——豆瓣下图书信息 Python爬虫(二)——豆瓣图书决策树构建 Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析 数据的构建 在这张表中我们可以发现 ...
- python网络爬虫之四简单爬取豆瓣图书项目
一.爬虫项目一: 豆瓣图书网站图书的爬取: import requests import re content = requests.get("https://book.douban.com ...
- python系列之(4)豆瓣图书《平凡的世界》书评及情感分析
本篇主要是通过对豆瓣图书<平凡的世界>短评进行抓取并进行分析,并用snowNLP对其进行情感分析. 用到的模块有snowNLP,是一个python库,用来进行情感分析. 1.抓取数据 我们 ...
- 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例
基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...
- 【Python数据分析】Python3操作Excel-以豆瓣图书Top250为例
本文利用Python3爬虫抓取豆瓣图书Top250,并利用xlwt模块将其存储至excel文件,图片下载到相应目录.旨在进行更多的爬虫实践练习以及模块学习. 工具 1.Python 3.5 2.Bea ...
- Python 2.7_利用xpath语法爬取豆瓣图书top250信息_20170129
大年初二,忙完家里一些事,顺带有人交流爬取豆瓣图书top250 1.构造urls列表 urls=['https://book.douban.com/top250?start={}'.format(st ...
随机推荐
- 大数据学习系列之一 ----- Hadoop环境搭建(单机)
一.环境选择 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G ip:39.108.77.250 2,配置选择 JD ...
- 51Nod 1293 球与切换器 DP分类
基准时间限制:1 秒 空间限制:131072 KB 有N行M列的正方形盒子.每个盒子有三种状态0, -1, +1.球从盒子上边或左边进入盒子,从下边或右边离开盒子.规则: 如果盒子的模式是-1,则 ...
- Music Tags 隐私政策
隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...
- 物联网设备是如何被破解的?分析一种篡改IoT固件内容的攻击方式
随着智能硬件进入到人们的生活,人们的生活质量开始有逐步的提高,人们与智能硬件之间的联系更加紧密.同时,智能硬件的安全问题也必须引起高度重视,因为其直接影响到人身安全.社会安全和国家安全. 大家是否 ...
- Ubuntu使用之Svn命令小技巧
注: [svn Path]:是指要代替码分支的server绝对路径 [Path]:是指终端相对当前文件夹的相对路径.假设是在当前文件夹下,就省略路径 ①.取svnserver的代码: svn co [ ...
- css中设置div水平居中,margin:0px auto无用的情况
在CSS中加了margin:0px auto;却没有效果,不能实现居中的问题!margin:0px auto;意思就是:上下边界为0.左右依据宽度自适应!就是水平居中的意思.无效的原因是,当你没有设置 ...
- 向MapReduce转换:生成用户向量
分两部分: <span style="font-size:18px;">/*** * @author YangXin * @date 2016/2/21 * @ inf ...
- Android ImageLoader(Android-Universal-Image-Loader)【1】概述及使用简单介绍
Android ImageLoader(Android-Universal-Image-Loader)[1]概述及使用简单介绍 一,前言:为什么要引入Android-Universal-Imag ...
- Orchard Core Framework:ASP.NET Core 模块化,多租户框架
Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core ...
- Docker for Windows 使用入门
欢迎来到Docker for Windows! Docker是用于创建Docker应用程序的完整开发平台,Docker for Windows是在Windows系统上开始使用Docker的最佳方式. ...