Python搭建BT资源搜索站(五)

通过前面四篇文章,我们已经采集到了N多BT种子,并且已经将种子中包含的一些信息保存在Mongo数据库中,接下来就是如何将Mongo中的数据通过WEB服务器提供给搜索引擎,提供给一些浏览者。即,如何使用Python搭建一个WEB站点了。首先我之前的项目均采用Bottle这个Python框架,这次依然不例外。这个框架的好处只有一个:足够简单。使用Bottle启动一个WebServer是一件非常简单的事,文件保存成app.py:frombottleimportBottle,runapp=Bottle()if__name__=="__main__":#命令行交互模式importsysport=int(sys.argv[1]iflen(sys.argv)>1else8888)run(app,host='0.0.0.0',port=port,reloader=True)当然bottle.py这个...

精彩继续

Python搭建BT资源搜索站(四)

前文中已经下载到了一些BT种子文件,其实聪明的孩子已经发现我之前写过一篇使用Python将BT种子转换为磁力链接的文章,其中会有一些办法解析BT种子的info信息,然后提取出来转换成磁力链接格式。因为暂时咱们只拿到了一些BT种子文件,所以最简单的方式获取BT文件的信息就是要解析BT种子文件,获取文件本身包含的一些信息。参考之前的文章,我建议是使用python-libtorrent来解析文件,效率高而且通过apt-get方式安装出问题的几率小。因为是Windows下开发,安装包请自行Google下载,本人下载到的版本为python-libtorrent-0.16.10.win32,安装过程一路Next即可。安装完成后就可以参考我之前在Debian环境的代码,轻松的将现有的种子文件转换成磁力链接。除了可以转换成磁力链接外,通过解析一个种子文件咱们可以获取到的信息有:这个种子中包含的文件列表文件...

精彩继续

Python搭建BT资源搜索站(三)

前文中已经用Python将一个从torrage.com上采集下来的文件解析并且保存进了Mongo数据库中,但此时Mongo数据库中仅仅是一些字符串,和咱们期望的BT资源站貌似完全不相关。当然聪明的小伙伴是已经知道torrage.com这个网站就是托管一些BT种子的网站,从网站主页就可以看到可以简单的通过访问『http://torrage.com/torrent/info_hash.torrent』下载一个BT种子。所以再一次祭出requests这个神器,通过遍历之前保存进Mongo中的info_hash来下载BT种子文件。首先,在bt-search目录新建一个文件夹『torrents』用来保存BT种子文件。然后,使用requests抓取torrage的文件并保存到torrents文件夹中,具体代码可以参考我写完的代码:https://gist.github.com/Chairo/63292...

精彩继续

Python搭建BT资源搜索站(二)

处理上文下载的文件前文中从torrage下载了一个info_hash的数据文件下来,但下载的文件仅仅是一个txt文档,需要将这个文档解析成一条一条的数据,保存进咱们的数据库,方便以后的数据库搜索以及一些其他处理。首先,要用Python读取下载下来的文件内容,并且将文件内容保存进数据库中。虽然以前我是坚决抵制使用nosql作为主要的存储工具,但因为公司的项目的核心数据是在Mongodb中存储,之后必然要接触一些Mongo的工作,所以干脆搞一些小项目从头开始方便我熟悉Mongo。读取文件的Python函数如下:defread_data():_file=open('20130820.txt','rb').readlines()for_itemin_file:print_item这个函数就可以简单的将一个txt文件读取出来,并且逐行输出。然后,下载Windows版本的Mongo(个人使用的32位系...

精彩继续

Python搭建BT资源搜索站(一)

任何一门编程语言初学者最难的是不知道如何下手,各种电子书实体书搞到一堆一堆,书中都是从语言的历史、基本语法开始谈起。按照书中的例子都一个一个去实践过了。但做了几百个for循环,几百个print'helloworld',先不说学了后边忘记前边,准备下手做一个项目时候才发现怎么将几百遍for和print组成一个按照自己想法来实现的项目完全没有任何思路……我对于任何编程语言的学习都倾向于做一个实际的小项目作为入门课程。我一直觉着书和手册是会查就可以了,没必要通读一整本书或者翻遍全部手册。安装必备软件python2.7.*,本人使用的32位Python2.7系列,一个是win7当时安装的32位,另外2.7系列第三方插件和教程都多。setuptools-0.6c11.win32-py2.7.exe,配合python的第三方插件requests,从官方github下载的版本(有一阵子了,下载最新版本就...

精彩继续