课堂笔记:
一、爬虫基本原理    1、什么是爬虫?        爬虫就是爬取数据    2、什么是互联网?        由一堆网络设备,把一台台的计算机互联到一起的称之为互联网    3、互联网建立的目的?        数据的传递和数据的共享    4、什么是数据?        电商平台的商品信息(淘宝,京东,,,)        12306,票务信息        链家,自如租房平台        ,,,,,    5、什么是上网?        普通用户:            打开浏览器--->输入网址--->往目标主机发送请求            --->返回响应数据--->把数据渲染到浏览器中

        爬虫程序:            模拟浏览器            --->往目标网站发送请求            --->返回响应数据            --->解析并提取有价值的数据            --->保存数据(文件写入本地、持久化到数据库)    6、爬虫的全过程        1.发送请求(请求库:Requests/Selenium)        2.获取响应        3.解析数据(解析库:BeautifulSoup4)        4.保存数据(存储库:文件保存/MongoDB)

    总结:        假如互联网中的数据比喻成一座宝藏,爬虫就是在挖宝

二、Requests请求库    1、安装与使用        pip3 install requests    2、分析请求流程(模拟浏览器)        -百度:            1.请求url            www.baidu            2.请求方式            get             post            3.响应状态码
案例分析:

'''
爬取校花网视频:一、请求urlhttp://www.xiaohuar.com/v/二:请求方式GET三、请求头信息User-Agent:用户代理
'''
import time
import requests
#爬虫三部曲
# 1. 发送请求
def get_page(url):response = requests.get(url)return response# 2. 解析数据
import re
def parse_index(html):# findall匹配所有# re.fainfall('正则匹配规则','匹配文本','匹配模式')# re.S: 对全部文本进行搜索匹配detail_urls = re.findall('<div class="items"><a class="imglink" href="(.*?)"',html, re.S)#
    # for detail_url in detail_urls:#        print(detail_url)return detail_urls#解析详情页
def parse_detail(html):movie_url = re.findall('<source src="(.*?)">',html,re.S)#print(movie_url)if movie_url:return movie_url[0]# 3. 保存数据
import uuid
# uuid.uuid4()  根据时间戳生成一段世界上唯一的字符串
def save_video(content):with open(f'{uuid.uuid4() }.mp4','wb') as f:f.write(content)print('视频下载完成1')# main + 回车键
# 测试用例:
if __name__ == '__main__':for line in range(6):url = f'http://www.xiaohuar.com/list-3-{line}.html'# 发送请求response = get_page(url)# print(response)# 返回响应状态码# print(response.status_code)# 返回响应文本# print(response.text)# 解析主页面detail_urls = parse_index(response.text)# 循环遍历详情页urlfor detail_url in detail_urls:# print(detail_url)# 往每一个详情页发送请求detail_res = get_page(detail_url)# print(response.text)# 解析详情页获取视频urlmovie_url = parse_detail(detail_res.text)# 判断视频url存在则打印if movie_url:print(movie_url)# 往视频url发送请求获取视频二进制流movie_res = get_page(movie_url)# 把视频的二进制流传给save_video函数保存到本地save_video(movie_res.content)

转载于:https://www.cnblogs.com/963989822cmd/p/11114012.html

day01:爬取**网视频:相关推荐

  1. 爬取网易云音乐个人动态中的视频(Ⅱ): 分析并获取api

    回顾和概览 在 爬取网易云音乐个人动态中的视频(Ⅰ) 中简单的分析了一下需要做什么, 现在要做的就是获取网易云的api, 很遗憾, 网易云并没有开放api出来, 但是我们可以对网页进行调试, 尝试从中 ...

  2. 爬取网易云音乐个人动态中的视频(Ⅲ): 实现爬取过程

    回顾 有了 爬取网易云音乐个人动态中的视频(Ⅰ) 和 爬取网易云音乐个人动态中的视频(Ⅱ) 的铺垫, 编写爬虫的代码便显得没那么突出了. 实现 直接show代码! 给出加密的代码 encrypt_ap ...

  3. python 爬视频下载_Python爬虫进阶之爬取某视频并下载的实现

    这篇文章我们来讲一下在网站建设中,Python爬虫进阶之爬取某视频并下载的实现.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 这几天在家闲得无聊,意外的挖掘到了一个资源网站 ...

  4. Python爬虫—爬取网易云音乐【热歌榜】歌曲的精彩评论(写入txt文本文件或者MySQL数据库)

      最近在学Python爬虫,看了Blibili爬取网易云音乐评论的视频,视频中是将一首歌的评论存入json文件,我在此代码的基础上扩展了三点:     1.爬取热歌榜200首歌曲的精彩评论:     ...

  5. 爬取bilibili视频

    几句命令行轻松实现爬取bilibili视频,辅助工具:you-get(爬取视频).ffmpeg(合并音视频). 爬取完整的bilibili视频 you-get使用 you-get安装 you-get使 ...

  6. 爬取网站视频命令行工具you-get的安装及使用方法

    爬取网站视频命令行工具you-get安装及使用方法 软件简介 下载方法 Step.01 Step.02 使用方法 报错提示 软件简介 you-get 是一个跨平台命令行视频.音频与图像下载工具,支持国 ...

  7. 爬取网络视频和小说资源

    一.视频部分的爬取 1.如果对视频有关注的同学就会发现网络上的视频一般有第三方小站的视频,采集站现成的资源,一些解析接口(解析官网的链接,包括免费和收费的接口),还有就是大站的官网视频.所以我们有几个 ...

  8. 爬取网易云音乐排行--2(抓包、forma、反爬)

    爬取网易云音乐排行 首先,我对我的这篇文章的更新迟到做出抱歉,本来挺懒的,一直都忘了更新,感谢私信回复我的朋友们,有你们的回复,是我前进路上最大的动力,我将对我的文章进行全新的总结和汇总,希望你可以不 ...

  9. Python爬取网易云音乐辑的图片、专辑名和专辑出版时间

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 作者:阿里波特 来源:CSDN Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 h ...

最新文章

  1. [USACO14OPEN]GPS的决斗Dueling GPS's
  2. matlab插值与拟合例题_菜鸟进阶系列:MATLAB数学建模·数据插值与拟合
  3. ARM机器学习新平台Trillium
  4. 图像处理中提取中间特征是干什么_PyTorch提取中间层特征?
  5. count函数_计数函数Count、Counta、Countblank、Countif、Countifs技巧解读
  6. oracle 关于归档的视图,10G中,什么视图可以看归档空间的大小
  7. 欧拉函数及其扩展 小结
  8. 给 22 岁的自己六点建议
  9. SQL语言学习随手记——二进制与十六进制之间的转换
  10. 自学python需要看书_一个小白的转行自学Python的经历
  11. 想把静态网页放到服务器上,怎么样让所有人都去访问到
  12. 倒看北斗星---念霍去病
  13. 【多目标优化求解】基于matlab非支配排序灰狼优化(NS-GWO)算法求解多目标优化问题【含Matlab源码 2015期】
  14. JVM内存结构和垃圾回收机制
  15. SqlServer-IN写法(普通、存储过程)
  16. 简单分类模型设计与实现
  17. 基于STM32U5片内GPDMA Burst传输应用示例
  18. mysql 表情符号_解决mysql存储特殊文字(表情符号)utf8mb4
  19. 利用python进行单边T检验
  20. 苹果手机html吊起拍照,用苹果手机拍照,打开这2个“万能模式”,轻松拍出好照片...

热门文章

  1. Android app更新模块
  2. 信息学奥赛一本通 1302:股票买卖 | OpenJudge NOI 2.6 8464:股票买卖
  3. 吾爱破解 - LCG - LSG|安卓破解|病毒分析|www.52pojie.cn
  4. 基于FPGA的FIR滤波器的实现(2)—采用kaiserord fir2 firpm函数设计
  5. Android-Gradle(4)gradle插件V2签名多风味打包
  6. 史蒂芬·乔布斯amp;斯坦福大学
  7. js如何降低全局变量带来的命名污染
  8. 风险投资成功案例分析_著名的风投成功案例
  9. Linux下fdisk格式化TF卡,创建分区
  10. 电信 IPRAN 设备组网方案_面向产业互联网业务承载网解决方案探讨