Simonl 发表于 2020-4-21 23:52

为了方便下载种子,自己写了个工具

本帖最后由 Simonl 于 2020-5-4 17:46 编辑

每次打开电影网站下载种子,跳转N个网页,烦死了,干脆自己写一个工具,其他网站举一反三。
但是网站本身速度就慢,下载的时候可能还会卡住
有朋友说不会用,我打包成exe文件了,直接运行就可以
2.0版:   https://lanzouj.com/ibqz8wh
2.1版https://lanzouj.com/ibwddmb    说明:发现带冒号的时候创建不了文件,这次加入了个判定,如果有冒号就替换成“.”,如果还有什么需求大家可以提出来
import requests,re
from bs4 importBeautifulSoup
a=BeautifulSoup(requests.get('http://www.lwgod.me/forum-292-1.html').text,'lxml')
b=a.find_all('tbody')
list_url=[]
list_name=[]
w=0
for i in b:
    w+=1
    try:
      name=re.findall(r'【龙网BT组】.*】',i.text)          #电影名字
      print(w,name)
      list_name.append(name)
      url='http://www.lwgod.me/'+i.find('a')['href']       #二级网页地址
      list_url.append(url)
    except:
      w-=1
      pass
xz=input('请输入要下载的序号||输入多个空格隔开:')
q=xz.split(' ')
print(q)
for j in q:
    j=int(j)
    url_2=list_url#电影名称网址
    name=list_name#电影名字
    print(f'电影详情页地址:{url_2}')
    a1=BeautifulSoup(requests.get(url_2).text,'lxml')#解析下载网页
    b1='http://www.lwgod.me/'+a1.find('ignore_js_op').find('a')['href']
    print(f'种子下载页地址:{b1}')

    a2=BeautifulSoup(requests.get(b1).text,'lxml')
    b2='http://www.lwgod.me/'+a2.find('div',style='border:1px solid #D9D9D9;margin:10px 0 5px;').find('a')['href']#种子下载地址
    print(f'种子下载地址:{b2}')
    with open(f'D:/浏览器下载/{name}.torrent','wb')as f:    #这里目录位置自己改过,改成自己的目录
      f.write(requests.get(b2).content)
      print(f'{name}下载完成')
input('任意键结束')

很多人说看不到下载到哪里,因为我之前只直接放在我本地的目录,你电脑可能没有这个目录,所以可能闪退,这次我设置了创建目录,在D盘创建一个叫【种子下载】的目录,这样就不会报错了,还增加了无限循环,输入n才会退出
import requests,re,os
from bs4 importBeautifulSoup
path='d:/种子下载/'
try:
    ml=os.makedirs(path)
    print('种子下载目录创建成功')
except:
    pass
a=BeautifulSoup(requests.get('http://www.lwgod.me/forum-292-1.html').text,'lxml')
b=a.find_all('tbody')
list_url=[]
list_name=[]
w=0
V=True
while V:
    for i in b:
      w+=1
      try:
            name=re.findall(r'【龙网BT组】.*】',i.text)          #电影名字
            print(w,name)
            list_name.append(name)
            url='http://www.lwgod.me/'+i.find('a')['href']       #二级网页地址
            list_url.append(url)
      except:
            w-=1
            pass
    xz=input('请输入要下载的序号||输入多个空格隔开:')
    q=xz.split(' ')
    print(q)
    for j in q:
      j=int(j)
      url_2=list_url#电影名称网址
      name=list_name#电影名字
      print(f'电影详情页地址:{url_2}')
      a1=BeautifulSoup(requests.get(url_2).text,'lxml')#解析下载网页
      b1='http://www.lwgod.me/'+a1.find('ignore_js_op').find('a')['href']
      print(f'种子下载页地址:{b1}')

      a2=BeautifulSoup(requests.get(b1).text,'lxml')
      b2='http://www.lwgod.me/'+a2.find('div',style='border:1px solid #D9D9D9;margin:10px 0 5px;').find('a')['href']#种子下载地址
      print(f'种子下载地址:{b2}')
      with open(f'{path}{name}.torrent','wb')as f:
            f.write(requests.get(b2).content)
            print(f'{name}下载完成')
    p=input('n结束,任意键继续')
    if p=='n':
      V=False


2.1版代码:
import requests,re,os
from bs4 importBeautifulSoup
path='d:/种子下载/'
try:
    ml=os.makedirs(path)
    print('种子下载目录创建成功')
except:
    pass
a=BeautifulSoup(requests.get('http://www.lwgod.me/forum-292-1.html').text,'lxml')
b=a.find_all('tbody')
list_url=[]
list_name=[]
w=0
V=True
while V:
    for i in b:
      w+=1
      try:
            name=re.findall(r'【龙网BT组】.*】',i.text)          #电影名字
            name=re.sub(r'[:]','.',name) #删除冒号,防止创建不了文件                        修改了这里
            print(w,name)
            list_name.append(name)
            url='http://www.lwgod.me/'+i.find('a')['href']       #二级网页地址
            list_url.append(url)
      except:
            w-=1
            pass
    xz=input('请输入要下载的序号||输入多个空格隔开:')
    q=xz.split(' ')
    print(q)
    for j in q:
      j=int(j)
      url_2=list_url#电影名称网址
      name=list_name#电影名字
      print(f'电影详情页地址:{url_2}')
      a1=BeautifulSoup(requests.get(url_2).text,'lxml')#解析下载网页
      b1='http://www.lwgod.me/'+a1.find('ignore_js_op').find('a')['href']
      print(f'种子下载页地址:{b1}')

      a2=BeautifulSoup(requests.get(b1).text,'lxml')
      b2='http://www.lwgod.me/'+a2.find('div',style='border:1px solid #D9D9D9;margin:10px 0 5px;').find('a')['href']#种子下载地址
      print(f'种子下载地址:{b2}')
      with open(f'{path}{name}.torrent','wb')as f:
            f.write(requests.get(b2).content)
            print(f'{name}下载完成')
    p=input('n结束,任意键继续')
    if p=='n':
      V=False

2.2版,增加判断超时从新下载,防止卡住
import requests,re,os,eventlet
from bs4 importBeautifulSoup
path='d:/种子下载/'
try:
    ml=os.makedirs(path)
    print('种子下载目录创建成功')
except:
    pass
a=BeautifulSoup(requests.get('http://www.lwgod.me/forum-292-1.html').text,'lxml')
b=a.find_all('tbody')
list_url=[]
list_name=[]
w=0
V=True
while V:
    for i in b:
      w+=1
      try:
            name=re.findall(r'【龙网BT组】.*】',i.text)          #电影名字
            name=re.sub(r'[:]','.',name) #删除冒号,防止创建不了文件
            print(w,name)
            list_name.append(name)
            url='http://www.lwgod.me/'+i.find('a')['href']       #二级网页地址
            list_url.append(url)
      except:
            w-=1
            pass
    xz=input('请输入要下载的序号||输入多个空格隔开:')
    q=xz.split(' ')
    print(q)
    for j in q:
      j=int(j)
      url_2=list_url#电影名称网址
      name=list_name#电影名字
      print(f'电影详情页地址:{url_2}')
      a1=BeautifulSoup(requests.get(url_2).text,'lxml')#解析下载网页
      b1='http://www.lwgod.me/'+a1.find('ignore_js_op').find('a')['href']
      print(f'种子下载页地址:{b1}')

      a2=BeautifulSoup(requests.get(b1).text,'lxml')
      b2='http://www.lwgod.me/'+a2.find('div',style='border:1px solid #D9D9D9;margin:10px 0 5px;').find('a')['href']#种子下载地址
      print(f'种子下载地址:{b2}')

      eventlet.monkey_patch()
      o=True
      oo=0
      o1='下载超时,重新下载'#判断下载是否超时
      while o:
            oo+=1
            print(f'第{oo}次下载')
            with eventlet.Timeout(30,False): #如果时间超过30s,则重新循环,否则跳出循环
                with open(f'{path}{name}.torrent','wb')as f:
                  f.write(requests.get(b2).content)
                  print(f'{name}下载完成')
                  o1='下载成功'   #如果执行能到这里,则把O1改成下载成功,否则输出下载超时
                  o = False
            print(o1)
    p=input('n结束,任意键继续')
    if p=='n':
      V=False

Simonl 发表于 2020-4-22 12:34

tomjohnjoan 发表于 2020-4-22 12:22
小而强大
谢谢分享



其他网站你要自己写,这个不通用

Simonl 发表于 2020-4-22 08:31

9009LE 发表于 2020-4-22 01:08
win10系统 能够出现截图里面的内容 但是输入后 闪退,无法找到保存到那里去了

保存路径啊

Lgl86988 发表于 2020-4-22 00:04

站一楼,顶一下{:301_993:}

taozididi 发表于 2020-4-22 00:10

原创支持

fjhscpc 发表于 2020-4-22 00:15

这个利害了,一会试试去

小可爱圆圆 发表于 2020-4-22 00:21

感谢分享,谢谢。

一团黄线 发表于 2020-4-22 00:24

感谢分享电影网站及方法{:1_918:}

wdj5000 发表于 2020-4-22 00:38

感谢分享

wdj5000 发表于 2020-4-22 00:41

句体怎么用,小白请教

Simonl 发表于 2020-4-22 00:51

wdj5000 发表于 2020-4-22 00:41
句体怎么用,小白请教

等下吧,我打包成exe

9009LE 发表于 2020-4-22 01:08

win10系统 能够出现截图里面的内容 但是输入后 闪退,无法找到保存到那里去了
页: [1] 2 3 4 5
查看完整版本: 为了方便下载种子,自己写了个工具