当前位置:首页 > 资讯 > 正文

利用Python爬取磁力种子链接,一言不合就开车

利用Python爬取磁力种子链接,一言不合就开车

磁力链接是对等网络中进行信息检索和下载文档的电脑程序。和基于“位置”连接的统一资源定位符不同,磁力链接是基于元数据文件内容,属于统一资源名称。也就是说,磁力链接不基于文档的 IP 地址或定位符,而是在分布式数据库中,通过散列函数值来识别、搜索来下载文档。因为不依赖一个处于启动状态的主机来下载文档,所以特别适用没有中心服务器的对等网络。
      BitTorrent 协议的种子文件可以保存一组文件的元数据。这种格式的文件被 BitTorrent 协议所定义。扩展名一般为“.torrent”。BitTorrent 使用”分布式哈希表”(DHT)来为无 tracker 的种子(torrents)存储 peer 之间的联系信息。这样每个 peer 都成了 tracker。这个协议基于 Kademila 网络并且在 UDP 上实现。
          $ redis
          -
          cli
          127.0
          .
          0.1
          :
          6379
          >
           scard magnets
          (
          integer
          )
           
          1137627
                $ git clone https
                :
                //github.com/chenjiandongx/magnet-dht.git
                $ cd magnet
                -
                dht
                $ pip install 
                -
                r requirements
                .
                txt
                # 确保已经安装好 redis,redis 的具体配置可以在 database.py 里面修改。
                # 至于进程数量可以在 crawler.py 进行调整$ python manage.py -h
                usage
                :
                 manage
                .
                py 
                [-
                h
                ]
                 
                [-
                s
                ]
                 
                [-
                m
                ]
                 
                [-
                p
                ]
                start manage
                .
                py 
                with
                 flag
                .
                optional arguments
                :
                 
                -
                h
                ,
                 
                --
                help show 
                this
                 help message 
                and
                 
                exit
                 
                -
                s run start_server func
                .
                 
                -
                m run magnet2torrent func
                 
                -
                p run parse_torrent func