python-qbittorrent+爬虫第二弹:爬取国内某bt站内容、分析页面,批量导入qbittorrent并下载归档

本文介绍了如何使用Python爬虫抓取国内某BT站点的日剧内容,通过正则表达式筛选并获取高清晰度种子,然后利用qbittorrent的WebUI进行批量导入和下载。文章详细解析了爬虫核心代码,包括HTML解析、正则匹配译名和清晰度,以及如何处理异常情况。同时,强调了在操作过程中保护敏感信息如cookie、passkey和qbittorrent登录凭据的重要性。
摘要由CSDN通过智能技术生成

        书接上文​​​​​​​,说到想批量下载电影,通过一个数据库获取了所有下载内容的链接,所以这个数据库从那里来呢?当然要依靠我们万能的python了,正好我最近在用一个bt站,又很想从上面找日剧看,奈何一个一个搜索下载太麻烦了,更不要说搭建好qbittorrent的webui,然后从nas下载了。

 

         基本架构:用python获取日剧信息,然后从中间获得清晰度最高的种子,然后传输到局域网的nas下载。

        

        先来看看爬虫的核心部分吧~后面有源码!

        首先当然是打开搜索页面,发现即使按照日本+日语两个关键词搜索,仍然会有007这样的电影混进其中,因此需要改进,改进方法就是从html中抓取是否包含“语     言 日语”以及“地     域 日本”这样的关键词。第一个部分的源代码如下:

import requests
import re
import time
import random


def getdetail(file, id):
    """
    分析详情页函数
    :param file: 详情页html文件对象
    :return: 一个字典,包含id、译名、清晰度信息、其他版本id、带passkey的url,如果不是日剧就返回空
    """
    with open('log.txt', 'r', encoding='utf8') as logfile:
        logtext = logfile.read()
    if logtext.find(f"'id': {str(id)}") != -1:
        print('getted!:', id)
        return
    return_dic = {
        'id': id,
        'name': '',
        'res': '',
        'url': '',
        'other': []
    }
    text = file.read()
    if text.find('产  地 日本') == -1 or text.find('语  言 日语') == -1:
        return
    res_re = re.compile('<b>分辨率:&nbsp;</b>(.*?)[pi]')
    try:
        return_dic['res'] = int(res_re.findall(text)[0])
    except:
        return_dic['res'] = 0
    other_re = re.compile('a href="https://www\.hdarea\.co/details\.php\?id=(.*?)&amp;hit=1"')
    return_dic['other'] = other_re.findall(text)
    name_re = re.compile('译  名 (.*?)<')
    name_list = name_re.findall(text)
    if name_list:
        if name_list[0].find('/') != -1:
            return_dic['name'] = name_list[0][:name_list[0].find('/')]
        else:
            return_dic['name'] = name_list[0]
    else:
        bad_name = re.compile('">副标题</td><td class="rowfollow" valign="top" align="left">(.*?)</td></tr>').f
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值