写了个电影搜索引擎 – 十万电影资源分享哦

好吧,做了一个很疯狂的东西! http://movie.readself.com/

平常我想要看电影的时候,总是需要在Google或者Baidu里搜索很长时间才能找到一个下载链接。

比如说,我想看《黑天鹅》,我就去Google里搜索:

ext:mkv Black Swan

然后就搜出种子或者下载链接了。那么这一个过程,是否可以简化呢?是否可以预先搜集好每个影片的下载链接,然后存到数据库里,方便我想看电影的时候直接调出来下载呢?所以就这样萌生了写个爬虫的想法!最初还是听说荣哥写了一个爬虫放在学校的服务器爬了3个小时,就把100万首音乐资料全部下载了。我后来本想跟随荣哥的足迹的,但突然觉得电影对于我来说比音乐更重要些。预祝荣哥顺利踏上去谷歌山景城总部的愉快旅程 :)

结合我之前做博客搜索引擎的经验,这次做一个电影资源搜索引擎吧!除了自己使用之外,还可以推荐给身边的各位朋友使用。私底下分享即可!

为了搜集这些电影资料,写了n多个爬虫,分别干不同的事情,整合了几个站点的资源。幸好教育网网速还行,每次基本上都可以用几个小时就爬完我需要的影片信息。不同站点的资源的整合,也写了不少程序来智能匹配。比如说,我现在有100多万的电影下载地址或者种子,我怎么跟我的影片信息库关联起来呢?按照我以往做文本分析的经验,通过计算链接和影片信息之间的联系程度,取关联程度最高的一个进行匹配。尽管如此,我发现还是有5%左右的影片的下载地址是错误的,比如2012。因为这个根据这个数字直接匹配2012年的片子了……

在下载链接的列表里,我做了一个简单的排名,把尽量与影片关联程度最高的,以及高清和速度好的链接排在前面。通过这样保证第一个下载链接的可靠性!

这次搜集电影信息的存储没有使用MySQL了,而是使用了MongoDB,性能很好,CPU占用少,用起来很方便,一点也不像MySQL那么繁琐啊。不过在吃光了内存之后,写入硬盘的时候,速度就太坑爹了,硬盘灯常亮啊,Firefox直接卡死,开了100个线程,CPU和网络利用率还是很低!因为爬虫一开始都把网页内容直接塞到MongoDB里,所以爬完后,信息内容的大小超过30GB了(包括小尺寸的海报)。写了几个脚本把影片信息提取出来,去掉了冗余数据,最后剩下10GB,上传到readself.com的VPS(内存512M,硬盘20G)上,跑起来妥妥的,搜索速度也很快!!!

分享地址: http://movie.readself.com/

看吧,小虾过了一段时间又给大家带来好玩的东西了!我本人在Linux下使用KTorrent,在Windows使用μTorrent,下载速度都很给力!用迅雷也可以下载磁力链接的文件。

给朋友们使用一下,觉得好,请评论啊 😀

写了个电影搜索引擎 – 十万电影资源分享哦》上有263条评论

      1. geek

        嘿嘿 原理我猜到了 但我不讲出来。因为我也做这块,不过更反河蟹一点。估计你的小主机要撑不住了,这个站传开了似乎。

        回复
        1. Xiaoxia 文章作者

          不怕的,静态页面无敌呀!!!哈哈……
          是否可以通过连接DHT网络获取一些资源呢?

          回复
        1. Xiaoxia 文章作者

          Hi,新版网站已经支持按imdb评分排序,这个周末放出来。没有在旧版网站改动是因为要重建索引表,最近比较忙,也比较懒。。。

          回复
  1. mx

    你好,在朋友那边看了下你的网站觉得很不错,不过感觉你的这个VPS可能会马上就跑不起,需要服务器免费赞助吗。

    回复
      1. levin

        我很好奇还弄了个什么分类。。。真的很感谢作者啊~其实被墙了也不怕,咱们都会翻墙的。。。如果用的人多了,自然而然就有风险,尤其互联网这种传播速度和国内这么敏感的政策。再次感谢作者~ 一直很好奇就没遇到过中文的ed2k链接的搜索,有时候我不需要像以前verycd那样的精品资源只需要有资源然后自己来帅选,开骡子连上服务器再搜索好麻烦。爬虫能爬ed2k链接么?

        回复
  2. bojone

    不得不说,真的很牛呀!原来编程技术可以做这么有趣的东西!
    是不是用python写的?
    有blog搜索,有电影搜索了,下一次会出现什么好玩的东西呢?
    我使用并期待着。

    不过这样的下载站会不会有被封的危险?

    回复
    1. Xiaoxia 文章作者

      恩,python写的。下次要写的东西,我现在也有想法啦!!!o(∩∩)o…哈哈,担心没时间做呢。

      回复
      1. Xiaoxia 文章作者

        Hi, 目前还没有做的这么强大,以后考虑做强大的时候,会换一个服务器。
        目前这个已经做成静态的了,要不然撑不了那么大流量。

        回复
  3. Terry

    好喜欢这个网站,立马收藏了 电影来了 ,话说能分享下源码么,我也想在自己的服务器上整一个,给周边的朋友用的

    回复
  4. JayXon

    好东西,已经收录到我的下载搜索里面了,地址:http://search.jayxon.com/
    其实我做的就一自定义搜索,没什么技术含量,但是收录的网站非常多,你可以试试
    我试了一下你的这个,虽然电影信息很全,应该是从豆瓣爬来的,但是冷门一点的电影就没有下载链接了,而我试的几个电影在我的搜索引擎里面都可以搜索到下载地址,而且不止一个
    另外就是希望不仅仅收录磁力链接,也把ed2k链接收进去吧,看好你
    另外下载地址的表格能否增加排序功能?按大小按时间什么的

    回复
  5. wer5lcy

    太强大了。。(话说可以再来一个Chrome/Firefox插件,打开豆瓣电影页面的时候右边自动弹出这里的下载地址,就爽了)

    回复
  6. 空谷幽风

    昨天看到微博点了看看,一看下面的地址,这不是小虾吗!哈哈~
    不过昨天你的BLOG打不开,推荐他们来看,估计也没看成…..

    回复
  7. ningshuangdao

    太需要这个网站了,以后看电影不愁了,楼主神人啊!不知能否看下爬虫源代码么?

    回复
    1. Xiaoxia 文章作者

      嘿,这个提议很不错!!!
      等我毕业了也想去啊。现在还得抽时间做一点自己喜欢的东西呢 :-)

      回复
      1. 关胜

        这边 主要是微博业务,海量数据,海量存储,需要各类型人才。如果有兴趣的话,可以介绍你来。欢迎来邮件咨询! guans******sina.com.cn

        回复
  8. 梓羿

    建议虾哥写个原理分析的文章,授之以渔嘛。对非关系型数据库了解不多,最近也在恶补key-value的知识。感觉虾哥在数据挖掘方面造诣也很高,求指点啊!

    回复
  9. cmxz

    在订阅文章列表看到这篇文章时本想过来评论,发现你的博客已经挂掉,现在终于好了。
    其实爬一爬ed2k更好,p2psearch一直是我珍藏软件o(∩_∩)o

    回复
  10. kisimple

    真心非常的强大,搜索效率很高,我想的问的是有没有开源的可能让想学习的都学习一下,开开眼界。

    回复
  11. princehaku

    还是在学校好啊..
    有时间折腾.
    今年毕设的时候我也搞了一个,不过很多数据懒得弄了。
    用java做的。https://github.com/princehaku/railgun

    .toplist tbody
    让使用者自己配XML规则。
    然后就没更新了。。

    回复
  12. Willson

    xiaoxia你好,我现有一闲置512M RAM, 20G 的 Linode VPS, 愿意免费提供给你使用,如有需要请与我联系。

    回复
  13. Voss

    【发现小虾在看雪论坛的身影,哈哈】
    『编程技术』 (49人)
    讨论编程技术,稍侧重安全技术相关的编程。
    『C32Asm』
    『安全工具开发』
    版主: monkeycz 北极星2003 小虾 玩命 莫灰灰

    回复
  14. tiny

    看到顶部那几个图标,就想起了bootstrap,打开源码一看,哈哈,果然,小虾也twitter-bootstrap啊!界面写的很清爽,赞一个!

    回复
  15. liony

    xiaoxia,你的博文中有这么一段:’按照我以往做文本分析的经验,通过计算链接和影片信息之间的联系程度,取关联程度最高的一个进行匹配’,我正好也在做数据匹配的作业,请教一个技术问题。

    你的计算关联度的算法,是不是这样的?首先将影片信息进行分词,提取特征,然后使用相似度算法(例如shingle),来比对两个影片信息的相似度,相似度高则合并成一条记录。

    谢谢!

    回复
    1. Xiaoxia 文章作者

      如果你有足够的影片信息,你可以尽可能考虑更多的特征。相似匹配的时候,可以寻找一个成功率比较高的判断标准。

      回复
  16. VellBibi

    好好奇,小虾你是用什么服务器啊?我是菜鸟,刚开始接触python,都不知道咋布置python到服务器呢,求教下

    回复
  17. Pingback引用通告: 做一个类似「电影FM」这样的工具需要哪些技术?主要聚合方面。 | 数码beta

  18. zerozhao

    一直对爬虫很感兴趣但是找不到好的实例,不知博主能否分享下源码(本人仅用于学习)谢谢。

    回复
  19. 给你发邮件了,拨错.Your email cannot be delivered to gdxxhg@gmail.com.
    Traceback (most recent call last):
    File “/home/xiaoxia/lab/forwarder/sender.py”, line 86, in run
    sendmail(row[“from”], row[“to”], msg)
    File “/home/xiaoxia/lab/forwarder/sender.py”, line 19, in sendmail
    smtp = smtplib.SMTP(str(host), timeout=60)
    File “/usr/lib64/python2.6/smtplib.py”, line 239, in __init__
    (code, msg) = self.connect(host, port)
    File “/usr/lib64/python2.6/smtplib.py”, line 295, in connect
    self.sock = self._get_socket(host, port, self.timeout)
    File “/usr/lib64/python2.6/smtplib.py”, line 273, in _get_socket
    return socket.create_connection((port, host), timeout)
    File “/usr/lib64/python2.6/socket.py”, line 567, in create_connection
    raise error, msg
    error: [Errno 101] Network is unreachable

    回复

Creke进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>