python网络爬虫_Python网络爬虫——爬取视频网站源视频!

news/2024/5/9 12:27:47/文章来源:https://blog.csdn.net/weixin_39765280/article/details/109752812

原标题:Python网络爬虫——爬取视频网站源视频!

学习前提

1、了解python基础语法
2、了解re、selenium、BeautifulSoup、os、requests等python第三方库

1.引入库

爬取网站视频需要引入的第三方库:

import os

from selenium import webdriver

import requests

from bs4 import BeautifulSoup

import re

12345

模块用处:

1、os模块:文件目录操作模块,用于创建或者删除目录或文件。
2、selenium模块:python请求模块之一,用于某些特殊请求。
3、requests模块:用于请求网页地址。
4、BeautifulSoup模块:用于解析网页,获取页面元素或内容。
5、re模块:正则表达式,本程序中用于匹配视频链接。

2.请求网页地址

请求页面:

"""请求页面"""

header = {

"User-Agent": "Mozilla/ (Windows NT 10.0; Win64; x64) AppleWebKit/ (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/"

} #请求

url = "" #网页地址,这里以卡卡动漫中的无限斯特拉托斯为例

r = (url, headers=header)

html = r.text #以二进制打印页面

1234567

由上述代码获取如下页面:

8cc7fbf72e92c47c5271d8af7fb954b2.png

请求头(反爬机制中的一种):

headers中包含网页请求中的请求头,每一个浏览器都有属于自己的请求头,因此需要更改,以免请求失败

3.解析网页,获取播放链接

解析上述页面:

"""解析页面"""

soup = BeautifulSoup(html, "")

urls = ("div", class_="movurl").find_all("a") #查找视频播放链接

videourls = []

for u in urls:

(("href")) #由分析网页元素可知,仅获取链接部分内容

# 获取视频播放地址

str = ""

for index, item in enumerate(videourls):

videourls[index] = str + item #加上前缀,获取13个视频播放链接

123456789101112

由上述代码获取如下页面:

c2a56edc8c322e43bd823e2ee33c5259.png

4.解析网页,获取视频源链接,即获取后缀名含.mp4的链接

由上述代码获取视频播放页面后,获取源视频链接:

# 请求获取视频源mp4

videos = []

title = []

chrome_options = ()

# 使用headless无界面浏览器模式,即不需要打开浏览器

('--headless') # 增加无界面选项

('--disable-gpu') # 如果不加这个选项,有时定位会出现问题

flag = 0

name = ''

for u in videourls:

# 启动浏览器,获取网页源代码

b = (options=chrome_options) # 建立Chrome的驱动

(10) # 隐式等待,动态查找元素

(u) # 在Chrome上打开网址

# 获取视频名字,如:无限斯特拉托斯

if flag == 0:

soup = BeautifulSoup(html, "")

name = ("title").('-')[0] # 获取标签内的内容

flag = 1

# 进入iframe内嵌网页

("playbox") # 针对iframe标签,(id)

html = b.page_source # 打印页面

soup = BeautifulSoup(html, "")

t = ("title").(' ')[0] # 视频命名

v = (r'(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+\.mp4)',

html) # 获取mp4网址

t = name + " " + t

title.append(t)

(v)

print(v)

() # 退出

12345678910111213141516171819202122232425262728293031323334

由上述代码获取如下视频源链接:

fa99d1c444ac63a4f15737f86ec80b6a.png

注意:
在本例子中,卡卡动漫里的视频源链接放在ifame标签中,这是基本反爬机制之一。ifame标签会隐藏其内的内容,用requests模块不能直接访问,需要在浏览器中访问,即需要selenium模块,通过针对iframe标签的方法 (id)
打开浏览器来访问iframe标签,并获取隐藏其中的视频源链接。

5.下载视频,并储存到指定文件夹

由上述代码获取视频源链接后,下载到指定文件目录:

"""下载mp4视频"""

i = 0 # 显示当前下载第几个视频

j = 0 # 遍历视频标题列表

# 创建视频文件目录

path = 'D:\Softdownload\Python\\videos\{}\\'.format(name)

if os.path.exists(path) == False: # 如果文件不存在

(path)

for index, item in enumerate(videos):

i += 1

print("正在下载第{}个视频".format(i))

file_name = title[j] + '.mp4' # 命名成mp4格式

j += 1

r = (videos[index][0], headers=header) # 请求里面的网址

with open(path + file_name, 'wb') as f: # 在指定文件夹下载视频,没有就创建

()

123456789101112131415

由上述代码会建立如下文件目录:

0ebd0b3ab02752ab32bc5c27988c8fea.png

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入返回搜狐,查看更多

责任编辑:

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

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

相关文章

linux系统默认硬盘启动,帮助中心--起点操作系统(StartOS)官方网站

如果您已经拿到 StartOS 的安装光盘,那还犹豫什么呢? 马上将计算机设置为从光驱启动,插入安装光盘,开始安装之旅吧!StartOS 是免费的,可以从官方网站直接下载。下载得到的是后缀名为”.iso”的光盘镜像文件…

中文地址转英文地址网站_SSL证书可能让你网站源IP地址暴露

最近从网站的攻防战中学到了不少东西,还结识了一个专门做网站防护的同县城老乡,给了我不少的信心。这几天网站能够保证一定时长的访问,能够让我更新2-3篇文章不受阻碍,主要也是我这位老乡的功劳真的。今天我网站的Cc攻击量达到了2…

vue seo关键词设置_网站SEO常用优化技巧

SEO(Search Engine Optimization)搜索引擎优化,简单来说,就是通过技术手段,帮助我们的网站上首页。不同的搜索引擎,排名算法也不尽相同,导致了各项参数的权重比值也就不一样,但是&am…

网站服务器可以用虚拟主机吗,做网站虚拟主机可以用服务器吗

做网站虚拟主机可以用服务器吗 内容精选换一换可以。弹性云服务器或者专属主机上创建的弹性云服务器都可以用来搭建网站。华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快…

seo关键词互点软件报价_seo关键词优化软件如何收费

seo关键xaa0c1词优化软件如何收费,随着现代化信息技术的发展,人们越来越多的从网络来获取信息。近年来,我们获取的信息绝大部分都是来源于网络,网络如今已成为信息的最大载体。为了让更多消费者了解并消费企业提供的服务和产品&am…

怎样获取网站的域名_搭建一个网站,通常的6大步骤你知道吗?

怎样建网站?要搭建一个网站,通常有6个步骤。下面我们简单的介绍如何一步一步搭建网站。第一步:注册域名挑选网站地址,注册专属域名。注册域名的价格取决于具体用什么样的后缀域名搭建网站。目前可以选择的域名后缀非常多&#xff…

python多页网站目录_python 爬取页面所有的url

原博文 2020-08-07 21:01 − 1.使用request爬取有效的URL # -*- coding: GBK -*- from urllib import request import re #爬取某个主页上的全部有效URL def crawb(): # 1. 确定好要爬取的入口链接 url "http://www.b... 相关推荐 2019-12-18 21:26 − 1,Djan…

php 随机在文章中添加锚文本_seo网站优化技巧之:8种优质锚文本的做法

众所周知,质量最高的外链就是锚文本形式的外链,这种外链又称为锚链,当锚文本中嵌入了我们的目标关键词之后,这种锚链的权重传递效率最高。锚文本链接的质量高低,对关键词排名及网站权重的影响非常大。seo网站优化技巧什…

VS2012/13本地发布网站详细步骤(可带数据库)

VS发布网站详细步骤 要在本地(自己的额电脑上)发布网站,首先你必须要搭建一个IIS服务器(具体搭建方法可参考我的上一篇博客)。下面是具体步骤:1、打开你的VS2012网站项目,右键点击项目》菜单中 …

c语言精品课程网站论文免费下载,【毕业论文_c语言程序设计精品课程网站的研究与实现6喜欢就下吧材料】...

毕业论文_c语言程序设计精品课程网站的研究与实现(6)(喜欢就下吧)《毕业论文_《c语言程序设计》精品课程网站的研究与实现.doc》由会员分享,可免费在线阅读全文,更多与《毕业论文_c语言程序设计精品课程网站的研究与实现(6)(喜欢就下吧)》相关文档资源请…

织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)

织梦网站地图xml生成插件描述1.utf8 和 gbk 有齐2种编码插件文件2.根据自己程序编码选择对应插件,上传模块,安装,使用3.可同时生成5种地图文件 sitemap.html sitemap.txt sitemap.xml google.xml rss.xml4.支持自动绝对路径(无论你站是否…

客户端安装服务器的路径查找文件,柴少鹏的官方网站-puppet系列(一)之puppet的部署、配置文件以及命令详解...

一、puppet的介绍(文字解释部分参考了权威指南)作为自动化运维管理老大哥级别的软件,这个词大家都很熟悉了,我也就不阐述什么发展史啊,跟其他工具的对比了。不过有一点是要注意的,puppet分为社区版和企业版。我们应该用的都是社区…

网站html漂浮代码大全,网页漂浮窗口代码

漂浮窗口代码var x 50,y 60var xin true, yin truevar step 1var delay 10var objdocument.getElementById("ad")function floatAD() {var LT0var R document.body.clientWidth-obj.offsetWidthvar B document.body.clientHeight-obj.offsetHeightobj.style.l…

php禁止指定ip访问网站,方法分享:如何利用.htaccess禁止某个IP访问网站

这篇文章主要给大家介绍了关于利用.htaccess实现禁止某个IP访问网站的方法,通过设置禁止某个IP段的访问,增加该虚拟主机的安全性,文中通过图文及示例代码介绍的非常详细,需要的朋友们可以参考借鉴,下面来一起看看吧。前…

mysql在建站起什么作用_数据库操作对比:Sql Server与MYSQL相比有哪些建站优势?...

最近一直在做博客网站,从定位主题到程序和数据库的选择,确实废了不少心思,经过细致的思考,最终将主题定位为读书方面,还有文学和学习笔记,但是对于程序和数据库问题,我一直就比较费心&#xff0…

把学校的网站搞了!

来自:知乎,作者:Ret2Rttr 链接:https://www.zhihu.com/people/bai-gei-a 今天这篇文章来源于知乎上一个叫R1et2Rttr的分享,作者自称是一名六年级的小学生。文章主要记录的是他针对自己学校网站的一次渗透测试&#xff…

程序员常用的这十个电子书下载网站,你值得拥有

不管学习什么编程语言,最主要的还是要多看,多记,多动手,去找一些自己感兴趣的脚本,代码去练习,练的越多,对于一些英语单词,特殊符号要比死记硬背要容易些。 以下这些网站&#xff0…

千人网站服务器,千人云服务器

千人云服务器 内容精选换一换切换操作系统是为您的云服务器重新切换一个系统盘。切换完成后云服务器的系统盘ID会发生改变,并删除原有系统盘。如果云服务器当前使用的操作系统不能满足业务需求(如软件要求的操作系统版本较高),您可以选择切换云服务器的操…

网站木马检测_网站建立检测劫持,网站建立检测劫持如何操作,详细步骤

网站劫持是指当用户打开一个网址的时候,出现一个不归属于网站范畴内的一个广告页面,或者是直接就跳转到某一个不不是这个网站所属的一个网站的分页面。IIS7站长之家网站监控提供:专业的网站,我们可以做到实时检测网站是否打得开、…

PHP网站工作流程图,在网站绘制工作流程图的教程分享(打工人必看)

原标题:在网站绘制工作流程图的教程分享(打工人必看)每一行、每一业都不是那么简单就能做顺手的,特别是要面对各种人际琐事的人事职员,要是不会一两招实用的办公技巧的话,可能很快便会被淘汰了。其中,学会绘制工作流程…