zoukankan      html  css  js  c++  java
  • 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排序,取前十本

  • 相关阅读:
    zookeeper基础笔记
    基于spring@aspect注解的aop实现
    Struts2中的开启AsyncContext的方法
    在执行gem install redis时 : ERROR: Error installing redis: redis requires Ruby version >= 2.2.2
    ConcurrentHashMap原理笔记
    Java并发Condition原理分析
    CountDownLatch实现原理
    ThreadPoolExecutor 线程池原理分析
    HashMap原理
    线程池的用法
  • 原文地址:https://www.cnblogs.com/huahuayu/p/8146643.html
Copyright © 2011-2022 走看看