《追风筝的人》

来源:互联网 发布:jre windows x64.exe 编辑:程序博客网 时间:2024/04/28 02:32

缘由

声明:这篇文章和《速度与激情》没关系。

去豆瓣看评论, 首先看到了 《速度与激情7》在首页的宣传图 是这样的:
图1.1
又看到右下角有个看过,和想看的人数,如下图:
这里写图片描述
看这人数,应该很火.

又看到一个推荐电影的页面,就是你如果喜欢看《速度与激情7》 那么你同样可能喜欢看下列电影:
这里写图片描述
确实推荐的比较靠谱,都是动作,冒险,刺激的大片).
想起来前段时间有个大牛分享了爬虫的实现逻辑(参考这里:豆瓣爬虫)。
于是产生了一个想法,喜欢看《速度与激情7》的朋友,他们都喜欢看什么书啊?旁边也没个推荐书目的展示,看电影看累了,别总推荐电影了,推荐几本书也不错吧。于是来了…..

如何推荐书

分三步:(自己瞎想的)
* 找到喜欢《速度与激情7》的人.
* 相关的人都阅读过什么样的书.
* 排名靠前的书有哪些.

找到喜欢这部电影的人

这步不算难,上映第一天就去看的人肯定就是这部电影的受众用户了(票都卖空了….),这步的思路就是找到看过这部电影的人,如上图,看到有17255人已经看过了,打开这个链接可以看到:
这里写图片描述
可以用一个简单的爬虫,爬取相关的数据了。
右键查看其网页元素,入下图所示:
这里写图片描述

参考了大牛的爬虫。解析这个网页,每行代码的意思都在代码中有注释:
这里写图片描述
这里写图片描述
这里写图片描述

限制:
1. 爬取数目的限制,我们看到有1w多人看过这个电影,但是我们不能把1w个人都爬下来(豆瓣限制了)。只能爬10页,每页20个人,总共200个人,再把喜欢看这部电影的人加起来,也总共才400人。(用不到算法什么高大上的东西)
2. 爬取速度的限制,如果爬太快可能会被豆瓣服务器识别为机器,封掉IP(好歹有VPN)

第一步完成后,数据就算存放到数据库了,每行存放了用户uid和个人网页的链接。

这些人都读什么书

第二步的数据获取,完全依靠第一步获取到的数据.手上有了400个人的uid.
第二步的输入就是uid, 输出就是喜欢的书的列表。uid->books。例如 李四==>(西游记,红楼梦,三国演义)

具体代码如下:
这里写图片描述
这里写图片描述
这里写图片描述
大部分代码和第一步类似.数据都存放到数据库(uid->books的映射关系)。

按书的频率排序

第三步就是按书出现的频率的次数进行排序。

代码如下:
这里写图片描述
这里写图片描述
结果输出了排名前10的推荐书。

排名第一的书是:《追风筝的人》
http://book.douban.com/subject/1770782/

完.

0 0
原创粉丝点击