如何下载种子文件

时间:2017-09-12 10:48:55

标签: python urllib torrent

我正在寻找一种下载torrent文件的方法,但我可以让它工作。

我在这里找到了几个类似的问题,并尝试了解决方案,但我无法让它工作。 继承人我所拥有的:

def get_torrent(site):
results = site
url = "https://nyaa.si/user/HorribleSubs?f=0&c=0_0&q=HorribleSubs+%5B720p%5D&p={}"
opener = urllib.request.build_opener()
opener.addheaders = [('User-Agent', 'CERN-LineMode/2.15 libwww/2.17b3')]
urllib.request.install_opener(opener)  # NOTE: global for the process
for line in results:
    name = "[HorribleSubs] " + line + " [720p].mkv"
    urllib.request.urlretrieve(url, name)

该函数获取一个新的剧集列表,需要下载,这是一个例子: Isekai Shokudou - 11,Koi to Uso - 11

然后我添加其余的链接样式并尝试下载链接,但上面的所有代码都是在下面的文件中下载整个网站的html代码:

[HorribleSubs] Isekai Shokudou - 11 [720p].mkv 

[HorribleSubs] Koi to Uso - 11 [720p].mkv

所以我需要一种方法从代码中提到的网站下载实际的.torrent文件

3 个答案:

答案 0 :(得分:1)

好的,我现在下载了.torrent,代码如下:

def get_torrent(site):
    results = site
    url = "https://nyaa.si/download/958359.torrent"
    opener = urllib.request.build_opener()
    opener.addheaders = [('User-Agent', 'CERN-LineMode/2.15 libwww/2.17b3')]
    urllib.request.install_opener(opener)  # NOTE: global for the process
    for line in results:
        name = "[HorribleSubs] " + line + " [720p].torrent"
        urllib.request.urlretrieve(url, name)

从硬编码到url的链接下载.torrent文件,并将其保存的文件名保存在for循环中。需要弄清楚如何在列表中的所有动画的for循环内自动获取.torrent链接。这里的问题是.torrent链接在网站上的下载方式。

答案 1 :(得分:0)

对于电影下载目的,您可以使用名为

的漂亮库
  

pyYify

执行磁链接的大部分工作并为您和东西开始下载。这是库的github链接。 https://github.com/nateshmbhat/pyYify

它还具有电影的种子搜索功能以及您可以在代码中使用的质量控制和评级选择。

电影的search_string可以是电影片名,IMDb代码,演员姓名,导演姓名'。品质='所有' ,' 720p' ,' 1080p' ,' 3D'。

答案 2 :(得分:0)

您可以按照以下步骤下载文件。

  1. 使用requests.get(url)
  2. 获取文件内容
  3. 分配目标文件路径。例如:destination = NameofFile.torrent'
  4. 打开并写入文件open(destination,'wb').write(file.content)
url = "https://nyaa.si/download/958359.torrent"
file = requests.get(url)
destination = '958359.torrent'

open(destination,'wb').write(file.content)