python webbrowser打开网站实现点击_简短的爬虫程序,14行Python代码轻松实现爬取网站视频

news/2024/5/9 7:51:46/文章来源:https://blog.csdn.net/weixin_39764603/article/details/110552056

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: IvanFX 复兴计算机社团

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

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

4d896d0503cd178c22758a06a47f834e.png

基本步骤与准备工作

2d57a2295608e22555eeb4c4b0c6e2ad.png

调试环境:

pycharm+python3

需要库:

  • urllib.
  • request
  • re

(http.cookiejar 后续爬虫进场会使用到的库,本项目反爬不涉及所以可以不添加)

如果import过程显示没有上述库,可以通过文件→设置→projet interpreter中右侧点击+来添加(如果您使用anaconda或者python也可以直接运行本项目,通过cmd→pip install添加)

2.在本文中我们通过python对于在线的短视频进行爬取,下载存储。基本步骤如下(可以写注释梳理思路):

(1)分析页面URL和视频文件URL特征 (2)获取网页源代码HTML,解决反爬机制 (3)批量下载视频存储

分析页面URL与文件URL特征

71f30e7abe4bcae306f98c59f4ba87f3.png

1.分析网页URL

通过网页网址:http://www.budejie.com/video/1,我们可以发现针对不同页码变化的知识网址最后一个数值,而这个数值代表了页数,所以只需要改变为固定网址+变量的形式批量获取该站的网址URL

2.分析文件名URL

通过对于网页当中的mp4的文件名进行分析,发现文件的URL是明文显示的,所以通过re的正则可以匹配获取。

批量获取URL,并从中提取视频的URL

import urllib.requestimport refor  page in range (1,20):    req = urllib.request.Request("http://www.budejie.com/video/%s" % page)    html = urllib.request.urlopen(req).read()    html = html.decode('UTF-8')    print(html)

1.批量爬取网页URL

这里我们page变量代表页面的编码,从这里我们暂时先爬取前20页。

(1)req获取网页反馈 (2)html通过函数获取网页的元代码 (3)通过对于源代码UTF-8编码恢复中文的显示。

但是通过上述代码的执行发现错误显示http Error 403,因为网页的反爬机制不能获取。

2.通过页面增加头文件

我们通过谷歌浏览器访问页面,按F12并切换到Network,刷新界面观察访问进程,可以从进程文件中选取一个查看头文件,添加到代码中,(这里选取的baisibudejie.js)修改代码如下,可以正常爬取界面。

for  page in range (1,20):    req = urllib.request.Request("http://www.budejie.com/video/%s" % page)    req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")    html = urllib.request.urlopen(req).read()    html = html.decode('UTF-8')    print(html)

批量下载视频,并建立文件名存储

a729dbfc740a15e34c455538d87b0789.png
09d66c8474f2223e31aefb9aa29ddcba.png

1.建立循环结构批量命名

建立循环结构之后,需要保留文件名下载,i.split("/")[-1]的含义是将i进行分割,以‘/’为分割符,保留最后一段,即MP4文件名。

2.批量下载

还是需要加一句显示的输出语句,来表示进程,也符合一个程序的交互性,也就是下载到那个视频的时候显示一下进度,最后下载到一个mp4的文件夹内

for i in re.findall(reg, html):    filename = i.split("/")[-1]  # 以‘/ ’为分割f符,保留最后一段,即MP4的文件名    print('正在下载%s视频' % filename)    urllib.request.urlretrieve(i, "mp4/%s" % filename)

1.建立完整程序

作为一名合格的程序员,需要梳理程序,添加注释,便于理解和后续的修改

import urllib.requestimport redef getVideo(page):        req = urllib.request.Request("http://www.budejie.com/video/%s" %page)        req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")        html = urllib.request.urlopen(req).read()        html = html.decode('UTF-8')        reg = r'data-mp4="(.*?)"'        for i in re.findall(reg,html):            filename = i.split("/")[-1]#以‘/ ’为分割f符,保留最后一段,即MP4的文件名            print ('正在下载%s视频' %filename)            urllib.request.urlretrieve(i,"mp4/%s"%filename)for  i in range (1,20):    getVideo(i)

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

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

相关文章

python网站攻击脚本_python脚本实现网易云刷等级网站签到打卡

本帖最后由 一只大八哥 于 2020-7-11 15:14 编辑 前言 最近用白嫖的虚拟主机搭建了个网易云刷听歌数量的网站,每天大概能刷个300首,但是每次都要登录,我这种懒人可不情愿手动干活。于是写了个python脚本,实现网站自动登录以及签到…

一个完整网站的代码_完整的SEO优化方案包括哪些方面?

SEO包括很多方面。正常的SEO优化一般是对网站进行系统的诊断之后,以一份全面的整体的优化方案,来指导网站的优化。单独针对SEO的一个点进行优化,无法让网站的推广发挥出最好的效果。完整的SEO优化方案包括以下几个方面:网站页面优…

有用的java学习网站

1.在线编译运行Java代码的网站 https://www.compilejava.net/ 2. 综合学习网站: http://www.tutorialspoint.com/,可以在线执行多种编程语言,其中编译执行Java代码的地址是 https://www.tutorialspoint.com/compile_java8_online.php 3.综合学…

web静态网页花店_前端开发:静态网站与动态网站的区别是什么?

很多刚入门的前端开发工程师不是很清楚静态网站与动态网站的区别,下面和千锋广州小编一起来看看吧!静态网站只需要通过浏览器进行解析即可,因此网站建设好后可以离线打开查看,动态网站需要通过一个额外的编译解析过程,…

Linux基础_网站权限规划

Linux系统默认的权限: 对于文件来说, 默认的权限: rw-r--r-- 644 对于目录来说:rwxr-xr-x 755 网站比较安全的权限: 网址程序存放在/app/blog 目录下面. 1.网站都是通过傀儡用户运行起来的 www 2.网站用户上传目录,file 644 dir 755 www www 3.除了上传目录之外的目录 file 64…

大型网站架构演进(3)使用缓存改善网站性能

大型网站架构演进(3)使用缓存改善网站性能 原文:大型网站架构演进(3)使用缓存改善网站性能网站的访问也是遵循二八定律:80%的业务访问集中在20%的数据上,如果我们把这20%的数据做缓存,是不是可以减轻数据库的访问压力呢?在项目开发…

程序退出崩溃_亚马逊中国清仓大促 网站客户端全线崩溃

https://www.3dmgame.com/news/201904/3760853.html一句话评论:文章中网友的微博评论已经可以代表我的想法了原文部分:日前宣布将要退出中国市场的电商亚马逊近日进行了清仓大促,却没成想折扣消息一出,大量用户在短时间内涌进亚马…

普通网站用双路cpu服务器,X79双路CPU服务器主机能干嘛

X79双路CPU服务器主机能干嘛 内容精选换一换一、鲲鹏应用使能套件BoostKit虚拟化整体介绍1)主流虚拟化技术对比了几种主流虚拟化技术架构:ESXi、Xen与KVM,其主要差别在与各组件(CPU、内存、磁盘与网络IO)的虚拟化与调度管理实现组件有所不同。ESXi虚拟化…

pytho怎么只爬去标签中的文字_网站内链结构该怎么进行布局

良好的网站内链结构会让蜘蛛顺着链接,一层层的读取网站的内容。网站结构差的网站,会让蜘蛛感觉走进了迷宫,如果你的网站很庞大,最好是建立清晰的网站导航、全面的网站地图、搭建网站内链等用户体验,这样做能够引导蜘蛛…

PHP网站留言要加验证码,织梦dede给自定义表单的留言板增加验证码的方法?

使用织梦模板建站时,大多数的留言板功能都是通过自定义表单来实现的,虽然织梦也有自带的留言板功能,但是比较复杂,但是如果使用自定义表单来实现留言板的话,默认是没有验证码的,没有验证码的话,…

mySQL报500_详细说明网站出现500错误的解决方案

我们都知道,网站通常有403、502、500等错误信息。以前有过关于如何处理403502错误和其他错误信息的文章。网站上有500个错误呢?一、查看详细信息实际上,500个错误也分为很多情况,我们只知道在哪里可以纠正站点的特定问题。通过以下…

百度地理围栏 无效_SEO应该避免这12个过时的优化策略 - 百度蜘蛛池博客

原出处:蜘蛛池博客原文链接:SEO应该避免这12个过时的优化策略 - 蜘蛛池博客SEO在过去几年里经历了广泛的变化及进化,并且每天都在进行着。虽然大多数传统的营销策略(在很大程度上)仍然适用于今天的数字营销&#xff0c…

python网站后台_Python 网站后台扫描脚本

Python 网站后台扫描脚本1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #!/usr/bin/python #codingutf-8 import sys import urllib import time url "http://123.207.123.228/" txt open(r"C:\Users\ww\Desk…

怎么在加载首页的时候同时弹出另一个页面窗口的脚本_如何建设一个高性能的网站...

网站是否高性能,我们第一眼看的就是响应是否快速,运行是否流畅,但是开发人员应该怎么做才可以做到高性能呢?01 前言最近在进行项目构建的时候遇到很多难题,首先我们最容易忽略的问题就是关于性能优化的。为什么这么说呢…

url 收录工具_有哪些方法可以解决最近网站收录少的问题?

夫唯8月22日我在搜外问答发起问题,收集近期收录不理想的网站情况,共65位同学参与交流。帖子地址:大家是否最近百度收录量老掉?集合帖(悬赏3元) - 搜外问答​ask.seowhy.com针对收录不理想,小伙伴们这样说:★…

更新网站 图片缓存_关于浏览器缓存你知道多少

分享一些实用或有意思的东西,发现代码之美。专注深度和最佳实践,希望打造的是一个高质量的公众号。在前端开发中,我们在提到性能优化的时候总会提到一点:合理设置缓存。我们该如何从这方面入手来考虑提高网站性能呢?前…

php+mysql动态网站开发,你还看不明白?

前言 可以说掌握这个pdf上的知识,面试问的基础知识无处左右,我凭借这个pdf拿下了OPPO/百度,京东,华为,美团,蚂蚁金服等互联网公司的offer。 下文中截图来源于朋友一个pdf版本的面经,把所以知识…

我的世界java版官方网站,讲的太透彻了

简介 基于SpringCloud(Hoxton.SR1) SpringBoot(2.2.4.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发&#xff…

网站虚拟主机服务器选择,选择虚拟主机服务的六大要点

信息化的工作之一就是开设网站,而对大量小规模企业来讲,开设网站就涉及到虚拟主机的选择问题。这是一个看似简单,实际上却有不少“讲究”的工作。利用虚拟主机技术,可以把一台真正的主机分成许多“ 虚拟”的主机,它们之…

app 访问h5 如何截取_如何选择自适应网站建设?自适应网站建设的重要因素?...

如何选择自适应网站建设?自适应网站制作有何特点?自适应网站建设的重要因素?“自适应式网站”又被称为HTML5自适应式网站,自适应式网站做为欧美流行建站方式,现在正成为中国做网站的主导方向,越来越多做网站…