python实战-HTML形式爬虫-批量爬取电影下载链接

文章目录

      • 一、前言
      • 二、思路
        • 1、网站返回内容
        • 2、url分页结构
        • 3、子页面访问形式
        • 4、多种下载链接判断
      • 三、具体代码的实现
      • 四、总结

一、前言

  喜欢看片的小伙伴,肯定想打造属于自己的私人影院,在线观看的话会有很多限制,所以可以到专门下载电影的网站下载自己想看的电影,如果想要下载大量电影的话,一个一个手点击页面去点击下载链接,实在让人崩溃,那么可以通过技术手段方便我们获取电影链接,看过我前面文章的小伙伴就知道了,我们可以采用python爬虫的形式去批量爬取电影下载链接,然后批量下载,岂不美哉。

  对python爬虫还没有了解的小伙伴可以先看看这一片内容(基于python爬虫快速入门),上篇在html形式讲解的代码示例就以及获取了子页的链接,那么接下来将就是继续上手实战,敏感内容我会打码,主要学习的是思路。

https://blog.csdn.net/syl321314362/article/details/127780756

二、思路

  首先我们第一步先是分析目标网站的请求结构,页面是怎么返回渲染的,分页形式是怎么样的,子页面是怎么样的形式访问,电影下载链接有没有不同形式的,所以弄大体的结构才有好的思路,把思路用代码的方式实现。

1、网站返回内容

  首先我们可以打开浏览器的开发工具页面(快捷键 F12),通过网络请求查看对应的请求去判断,也可以直接python写一个request请求,看看response.text返回的是不是想要的页面html。

在这里插入图片描述

2、url分页结构

  电影肯定有很多,所以制作网页的时候要采取分页展现的设计,所以要点击分页栏,查看地址栏url的变化,滚动式加载也是这种思路,观察地址栏url或者网络请求的变化。
在这里插入图片描述

在这里插入图片描述

  可以看到地址栏中的url明显的有变化,所以这里一共有212页所以就是list_23_1.html 到 list_23_212.html,我们去页面证实一下,果然没错。
在这里插入图片描述

  所以批量爬取就要搞清楚目标的页面结构,那么我们知道有这么多页的时候就要通过for循环去遍历这212页的内容,去匹配获取子页面。

3、子页面访问形式

  通过子页面与主页的url拼接即可访问,url = “https://xxxx” + “/html/gndy/dyzz/20221109/63138.html”

在这里插入图片描述
在这里插入图片描述

4、多种下载链接判断

  每个子页面的的链接展现的形式是不同的,所以我们要多点击几个子页观察有哪些不同的地方,在爬取链接的时候就需要多加注意多加判断。

  实例就有两种形式的链接ftp和magnet,所渲染的标签样式与视频后缀名也是有些差别的。

在这里插入图片描述

在这里插入图片描述

三、具体代码的实现

  运行前先安装lxml库

pip install lxml
import re
import time
import urllib3
import requests
from lxml import etree
from urllib.parse import unquote
# 解决requests请求出现的InsecureRequestWarning错误
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}for i in range(1, 215):# 分页页面首页indexUrl = "https://www.xxxxx.com/html/gndy/dyzz/list_23_{}.html".format(i)print("="*10 + indexUrl + "="*10)res = requests.get(indexUrl, headers=header, verify=False)if res.status_code == 200:lxml_tree = etree.HTML(res.content)# 获取分页页面中的电影页面路径href_name = lxml_tree.xpath('//div[@class="co_content8"]//table//a//@href')if len(href_name) < 25:lxml_tree = etree.HTML(res.text)href_name = lxml_tree.xpath('//div[@class="co_content8"]//table//a//@href')for urlPath in href_name:if "/html/gndy/dyzz/" in urlPath:try:# 拼接详细电影页面urlurl = "https://www.xxxxx.com" + urlPathres2 = requests.get(url=url, headers=header, verify=False)if res2.status_code == 200:# 防止中文乱码res2.encoding = "GBK"lxml_tree2 = etree.HTML(res2.text)# 获取电影下载链接href_name2 = lxml_tree2.xpath('//div[@id="Zoom"]//a//@href')if href_name2:# 正则匹配获取mkv或mp4格式链接或rmvb格式pattern = re.compile(r'.*.mkv|.*.mp4|.*.rmvb')film = pattern.search(unquote(href_name2[0]))[0]print(film)#下载链接写入文本with open("allFilm.txt", "a", encoding="utf-8") as f:f.write(film + "\n")else:# 记录访问错误的页面with open("fail.txt", "a", encoding="utf-8") as f:f.write(url + "\n")time.sleep(1)except Exception as e:print("errer: ", e)continueprint("total: ", len(href_name))

在这里插入图片描述
在这里插入图片描述

四、总结

  技术是一把双刃剑,就看持剑的人是怎么想的,爬虫有风险,操作需谨慎,爬虫被判刑的例子比比皆是,需谨慎。关注我,微信搜索艺说IT公众号,后续有这两种形式的python实战爬虫还有反防爬虫(反反爬虫)等技术干货,并附带源码,对你有帮助请点个赞,感谢各位帅哥美女。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/44032.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超级简单的视频爬取

超级简单的网站视频爬取 一 在桌面新建文件夹 二 双击打开新建的文件夹,并将文件夹的路径删除,输入cmd 三 输入cmd命令后回车 四 在弹出的黑色命令提示窗口内输入:pip install you-get 然后回车 五 回车之后出现Successfully installed you-get-0.4.1555 后面的数字可以不一致…

python爬虫爬取网站视频

每个视频网站视频格式都不一样 今天主要说的是爬取.ts结尾的视频 1 打开视频网址 按F12 先不要播放 2 点击播放 查找Type是video的 可见v.f230.m3u8就是我们需要的视频ts包 接下来下载这个m3u8 数据是这样的 里面的v.f230开头的就是我们所需要的 点击每个段就会发现 请求…

超级简单的网站视频爬取

一 在桌面新建文件夹 二 双击打开新建的文件夹,并将文件夹的路径删除,输入cmd 三 输入cmd命令后回车 四 在弹出的黑色命令提示窗口内输入:pip install you-get 然后回车 五 回车之后出现Successfully installed you-get-0.4.1555 后面的数字可以不一致,代表安装的不同版本,只要…

python高阶爬虫---视频类内容爬取,内含详细教程和代码实例

目录 一、写在前面二、某站视频爬取三、某影院爬取 Author:qyan.li Date:2022.6.23 Topic:python爬虫获取视频类内容 一、写在前面 ​ ~~~~~~~~~~ 最近放暑假&#xff0c;闲来无事&#xff0c;爬点东西来玩。这学期由于课程需要&#xff0c;多次用爬虫的技术来获取数据&#…

Python-爬虫抓取视频

没什么可写的了 写点东西审核就不通过 来吧 直接看代码吧 准备&#xff1a; 首先确定视频地址&#xff1a; "http://video.dispatch.tc.qq.com/uwMROfz2r5zEIaQXGdGlX2dfJ6lgHJ4AOe6UhfWwqaorElWS/b3061yp5y1d.p701.1.mp4?vkeyCAA8CE5008F7EFE57C6375F331B807CEBF15…

爬虫实战 | 手把手教你批量爬取某站视频数据

↑↑↑关注后"星标"简说Python 人人都可以简单入门Python、爬虫、数据分析 简说Python推荐 来源&#xff1a;志斌的python笔记作者&#xff1a;志斌大家好&#xff0c;我是老表~ 这几天一直有小伙伴问B站上的视频数据是怎么获取的&#xff0c;今天就来给大家分享一下…

【python如何爬取视频】

该文章实验了如何利用Python进行爬取网络视频&#xff0c;看完该文章基本是可以下载出视频的&#xff0c;如有不足请多多包涵 1、爬虫需要使用到的Python库。 I、requests库II、re库III、 jsonVI、subprocess第一个库是用来进行网络请求的&#xff0c;通俗点理解就是拿来模拟你…

Python爬虫教你爬取视频信息

大家好&#xff0c;我是拉斯&#xff0c;今天分享一个爬取某音视频的一个小案例&#xff0c;大家一起学习 目录 前言基本环境配置爬取目标视频获取视频链接1.查看网页源代码2.抓包工具捕捉 下载视频(以mp4格式进行保存)获取其他信息并打印(作者名&#xff0c;作品名&#xff…

开放原子开源基金会发布《全球开源发展态势洞察》2022年第二期 | 总第二期

当前&#xff0c;开源驱动创新的能力日益显著&#xff0c;已成为经济社会新变革的赋能者。开源通过汇聚创新资源、构建信任环境&#xff0c;促进知识、智慧、技术、成果等的共享&#xff0c;加速创新要素的高效流动&#xff0c;促进全球技术创新成果的落地&#xff0c;已经成为…

chatgpt赋能python:Python加R:让数据科学更加高效

Python加R&#xff1a;让数据科学更加高效 在过去的几年里&#xff0c;Python和R成为数据科学领域中最受欢迎的编程语言。它们提供了丰富的库和工具&#xff0c;帮助从事数据分析和机器学习的人们更加高效地完成任务。然而&#xff0c;Python和R都有其各自的优缺点。 Python的…

微软提出MathPrompter,GPT3的数学推理水平直接干到人类水平

编&#xff5c;LRS 源&#xff5c;新智元 ChatGPT的文科脑有救了&#xff01; 大型语言模型最为人诟病的缺点&#xff0c;除了一本正经地胡言乱语以外&#xff0c;估计就是「不会算数」了。比如一个需要多步推理的复杂数学问题&#xff0c;语言模型通常都无法给出正确答案&…

目标检测评价指标

1、检测精度指标 一、IoU交并比 IoU&#xff08;交并比&#xff09;1、IOU的全称为交并比&#xff08;Intersection over Union&#xff09;&#xff0c;是目标检测中使用的一个概念&#xff0c;IoU计算的是“预测的边框”和“真实的边框”的交叠率&#xff0c;即它们的交集和并…

数据结构03:栈、队列和数组

前言 参考用书&#xff1a;王道考研《2024年 数据结构考研复习指导》 参考用书配套视频&#xff1a;3.1.1_栈的基本概念_哔哩哔哩_bilibili 特别感谢&#xff1a;ChatGPT3.5老师&#xff0c;检查其它同学的作业是从代码里找BUG&#xff0c;检查我的作业是恰恰是相反的...&am…

chatgpt赋能python:Python怎么算数的总和

Python怎么算数的总和 Python是一种广泛使用的解释型编程语言&#xff0c;它可以用于各种应用程序的编写&#xff0c;包括数据分析、Web应用程序、机器学习等等。而在编写代码时&#xff0c;最基础的一步&#xff0c;就是算数计算。本文将介绍如何使用Python实现算数计算的总和…

GitHub和Git使用教程

转载自http://blog.csdn.net/javaandroid730/article/details/53522872 GitHub和Git入门 考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解&#xff0c;我写了一个简单的博客来让大家学会入门使用方法。 GitHub的简单使用 第一步 创建GitHub账号 1. 打开GitHub官网。…

CSDN 个性化推荐的数据治理

目录 1. 背景2. 数据治理2.1 从内容层面提升数据质量2.2 从用户层面提升数据质量2.3 增加特定数据的曝光2.4 保证数据的正确性与实效性 3. 总结 相关阅读 CSDN 个性化推荐系统的设计和演进如何支持研发对CSDN个性化推荐系统重构 1. 背景 CSDN 的个性化推荐流在主站中是一个很…

解决多御浏览器问题的5大干货,看这一篇就够了

浏览器是我们频繁使用的软件之一&#xff0c;在使用浏览器的过程中&#xff0c;我们总会遇到各种各样的问题。小编这就为大家总结了一篇多御浏览器遇到问题的解决干货&#xff0c;这篇文章可以为大家解决多数问题&#xff0c;下面小编就来简单的说一说。 1、怎么对多御浏览器设…

微软 Authenticator更换登录设备

微软 Authenticator更换登录设备 要把微软 Authenticator换到其它手机&#xff0c;网上查到需要备份-恢复等&#xff0c;但是操作时发现需要Google play服务&#xff0c;但是安装后仍提示未安装&#xff0c;后发现用如下方式可进行更换。 1、登录该网址 https://mysignins.micr…

Microsoft365账号登录安全保护:使用microsoft authenticator应用验证

国际版Microsoft365在web端登录后显示组织需要更多信息&#xff0c;来保护账号安全。 点击下一步 使用Microsoft authenticator进行验证&#xff0c;在手机中下载authenticator客户端 此时可以选择添加工作账户-验证 若无法添加工作账户 选择“我想使用其他身份验证器应用”…

使用微软DNS服务器解决Hotmail、微软账户登录页面无法访问的问题

近日&#xff0c;在重装Windows 10系统之后&#xff0c;发现Edge浏览器无法登录微软账号做数据同步&#xff0c;具体表现为登录页面无法打开。此前&#xff0c;通过浏览器访问hotmail等页面的时候&#xff0c;也经常发生页面无法打开或者打开及其缓慢的情况&#xff0c;只是这次…