首页 > 自考资讯 > 自考知识

python爬取电影并下载,python搜电影

头条共创 2024-06-27

c0cf88fc2ed14af18fe36a3459a411ec~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=mI0XG8udIZj6jxJuZywtNtJiBS4%3D 1.写在前面。

最近看到新闻,圣城家园(SCG)倒闭了,暴风视频也下不了了,可以说企鹅等国内大公司的日子越来越不好过了。爱奇艺最近也面临一些问题。尽管版权意识不断增强,但很多资源在这些主流视频网站上仍然无法获得。我习惯下载电影并再次观看。我们需要这个程序,因为每次看电影时寻找资源是非常乏味且耗时的。

c32a4046dc7940a6a23f2d7f50ac78c4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=j3W1rawb552mzHkj4F%2Fp0vhoNm8%3D 2. 目的

输入电影名称,前往BT Home 查看是否可用,然后复制下载链接(如果可用)。

3、设计思路

Python 入门很容易,但日常使用却很难。我想很多人只学习一周就放弃了。事实上,没有好的学习材料,就很难坚持不懈地学习。这是Python入门学习资料,通过编辑“01”关注、转发、私信收集。免费获取!如果它有帮助,那么我很高兴

b7de52b9ff2344cc88a3bc0f2a0547e3~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=0fEnsHRfDIAezj7ITGtibgCfCUI%3D 本来是想直接在首页抓取最近上映的电影,看看有没有上映。所以我想也许我可以使用该网站的搜索功能。

四、开始爬虫

4.1.分析网站

当您打开网站并搜索结果时,您会看到直接更改URL中的链接内容即可访问搜索页面。这很容易。

28020388c95046ae9bce44794c65cce5~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=b989wSOKH8BGHGgTNEja4VVGtck%3D 首先让用户输入电影名称,直接生成链接。

#必须输入电影名称inputname=input('\n' + '请输入您要搜索的电影:')# 链接使用网站的搜索功能url='http://www.6btbtt.com/search-index- keywords-' + inputname + '.htm' 接下来,让我们看一下使用review 元素的搜索结果。将显示搜索结果的电影名称和链接。 subject_link 线程旧读取类型标记。

f1a75c8e0bf24f328969084a6d0e0b38~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=A7zuwICVtEunCQCfS58w7zjwDYM%3D 至此,网站分析完成。

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') 程序现已完成。

运行截图

3de2c6d86d664794b5234226b92c87d6~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720047249&x-signature=vQiOzqOZOJzQyqet3isG7HLpGRA%3D

五:注意事项

5.1. 如果无法导入模块,则可能缺少C++ 运行时库。请下载并安装官方工具。

5.2 网站内看起来相同的元素可能具有不同的标签。例如,热门电影和新电影标签在第一次遍历和爬取时总是会报错。

5.3 始终使用tryexc以避免发生意外。

程序可能没有意义,但生命不息,折腾不止。

版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢