python爬虫入门案例day11:街舞

引言

今天小编来带领大家批量下载街舞视频

爬虫应用

1、数据分析;
	2、商业领域;

开发爬虫的流程

1. 准备工作
	2. 获取数据
	3. 解析内容
	4. 保存数据

requests介绍

1、requests库的安装
	Windows平台:
		以管理员身份运行cmd,执行 pip install requests
	检查是否安装成功
	import requests
	运行不报错就代表成功

2、requests库的一些方法
	1)、requests.get():构造一个向服务器请求资源的Requests对象;
	2)、headers:字典,HTTP定制头;
	3)、timeout:设定超时时间,以秒为单位;

3、response对象的属性
	1)、r.status_code:HTTP请求的返回状态,200表示连接成功,其余返回码表示连接失败;
	2)、r.content:HTTP响应内容的二进制形式;

4、requests常见报错

	1)、requests.ConnectionError:网络连接错误异常,如DNS查询失败、拒绝连接等;
	2)、requests.HTTPError:HTTP错失异常;
	3)、requests.URLRequired:URL缺失异常;
	4)、requests.ConnectTimeout:连接远程服务器超时异常;

批量下载街舞视频案例

1、网站名称:街舞在CN
2、网址:http://www.hiphopcn.com.cn/

分析网站结构

进入目标网站,发现网站街舞视频分为五个类型,分别是Breaking、Popping、Locking、Crew Battle、跨界跨项选材。我们使用谷歌浏览器插件javascript toggle on and off重新加载网页,发现将鼠标放到视频上面时,下拉框不会弹出,那么这个超链接说明是通过JS代码渲染出来的。一级url如下:
以下都是一级url
1、Breaking---http://www.hiphopcn.com.cn/videos/c/Breaking
2、Popping---http://www.hiphopcn.com.cn/videos/c/Popping
3、Locking---http://www.hiphopcn.com.cn/videos/c/Locking
4、Crew Battle---http://www.hiphopcn.com.cn/videos/c/CrewBattle
5、跨界跨项选材---http://www.hiphopcn.com.cn/videos/c/xuancai

我们进入一级url对应的网页,获取二级url,也就是每个视频详细页面的url,我们依旧使用谷歌浏览器插件javascript toggle on and off重新加载网页,审查元素发现能看到每个视频的详细页面的残缺url

我们进入视频详细页面,依旧使用谷歌浏览器插件javascript toggle on and off重新加载网页,审查元素,发现视频的url在video标签下的source标签下的src属性值中。

源代码

经验分享 程序员 微信小程序 职场和发展