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下载的版本(有一阵子了,下载最新版本就...

精彩继续

使用Python给IE设置代理

厂里上个网需要设置代理服务器,切换各种环境『包括但不仅限于开发环境、QA、预上线、验收、生产环境、压力测试、Demo……』都需要给浏览器设置不同的代理服务器。虽然俺有神器Firefox+ChangeHost+HostAdmin+ProxySelector的组合来轻松切换Host,切换浏览器代理,但是…凡是就怕『但是』。但是碰到一些IE才有的bug时候不得不换浏览器啊!!还要开虚拟机进去搞IE6、IE8、360、搜狗这些奇葩浏览器啊!!!有同事建议搞个bat脚本来做这些,但没人肯动手……而且bat能不能实现先不说,重点是咱不熟啊。搞个C#写个winform或者console控制台还需要.NETframework不是,虚拟机装个.NETframework4.0又要很多时间『而且不同的snapshot都要装一遍…』最最重要的,好久不写文章了不是,咱不想在博客里写C#相关的东西不是。所以,操刀Py...

精彩继续