1.写在前面。
最近看到新闻,圣城家园(SCG)倒闭了,暴风视频也下不了了,可以说企鹅等国内大公司的日子越来越不好过了。爱奇艺最近也面临一些问题。尽管版权意识不断增强,但很多资源在这些主流视频网站上仍然无法获得。我习惯下载电影并再次观看。我们需要这个程序,因为每次看电影时寻找资源是非常乏味且耗时的。
2. 目的
输入电影名称,前往BT Home 查看是否可用,然后复制下载链接(如果可用)。
3、设计思路
Python 入门很容易,但日常使用却很难。我想很多人只学习一周就放弃了。事实上,没有好的学习材料,就很难坚持不懈地学习。这是Python入门学习资料,通过编辑“01”关注、转发、私信收集。免费获取!如果它有帮助,那么我很高兴
本来是想直接在首页抓取最近上映的电影,看看有没有上映。所以我想也许我可以使用该网站的搜索功能。
四、开始爬虫
4.1.分析网站
当您打开网站并搜索结果时,您会看到直接更改URL中的链接内容即可访问搜索页面。这很容易。
首先让用户输入电影名称,直接生成链接。
#必须输入电影名称inputname=input('\n' + '请输入您要搜索的电影:')# 链接使用网站的搜索功能url='http://www.6btbtt.com/search-index- keywords-' + inputname + '.htm' 接下来,让我们看一下使用review 元素的搜索结果。将显示搜索结果的电影名称和链接。 subject_link 线程旧读取类型标记。
至此,网站分析完成。
4.2.开始爬取过程
现在您已经有了电影标题和网站,请使用请求来检索内容。解析的内容已格式化。您可以继续下一步。
# 获取网页内容并使用BeautifulSoup进行解析。 Soup=BeautifulSoup(requests.get(url).text,'lxml')# 网站搜索结果首先显示最新的结果。因此,一个结果就足够了。 Movies=Soup.find('a','subject_link thread-old') 但是,您将获得的内容不仅仅包括电影标题和链接。我需要合并单独提取的电影标题和链接。
# 直接输出视频和链接try: link=movie.get('href') name=movie.text ####我们这里使用的是文本,因为标签下面有一个标签,而文本内容是因为无法获取。 is string print('\n ' + name) print(link + '\n')excel: print('找不到这部电影或程序遇到未知错误') 这里我们使用Try 和except 并获取有关程序。也就是说,如果检索到的内容有问题,如果程序没有崩溃,则执行其他操作或继续下一步。
至此,我们有了电影和链接,爬行过程就完成了。
4.3判断爬取结果和用户输入
电影标题包含实际的电影名称,还包括分辨率、年龄、格式等信息,所以通常看起来像这样
[BT下载][小丑][BD-MKV/2.12GB][英文中英文字幕][1080P][DC年度大片蓝光版]我们不要这些,我们把它拆开,分开电影名字,如何分割意思是前面“下载][”,后面“][”,就取中间的文字即可。
# 用于将网页上的实际电影名称与电影标题分开def get_str_btw(s,f,b): par=s.partition(f) return (par[2].partition( b))[0 ] [:]try: mname=(get_str_btw(name,'下载][',']['))Except: print('与搜索结果不匹配') 单独提取并比较视频名称,如下所示。简单的文本匹配可以让我抓取更多结果,然后对匹配项进行模糊搜索。
# 判断输入的电影名称是否与检索到的电影名称匹配if mname==inputname: print('电影可用!链接已复制!祝您观看愉快!' + '\n ') pyperclip.copy(link)else: print( 'I发现了这个!')最后,添加一条命令来等待程序运行完成。
# 运行程序后不要立即关闭窗口os.system('pause') 程序现已完成。
运行截图
五:注意事项
5.1. 如果无法导入模块,则可能缺少C++ 运行时库。请下载并安装官方工具。
5.2 网站内看起来相同的元素可能具有不同的标签。例如,热门电影和新电影标签在第一次遍历和爬取时总是会报错。
5.3 始终使用tryexc以避免发生意外。
程序可能没有意义,但生命不息,折腾不止。
版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。