【python】喜欢XJJ?这不得来一波大采集?
前言
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章
俗话说的好:技能学了~就要用在自己喜欢得东西上!!
这我不得听个话~我喜欢小姐姐,跳舞的小姐姐
这不得用python把小姐姐舞采集下来~嘿嘿嘿
完整源码、素材皆可点击文章下方名片获取此处跳转
知识点:
采集基本流程
re正则表达式简单使用
requests
json数据解析方法
数据保存
采集网站:
开发环境:
Python 3.8
Pycharm
模块使用:
requests >>> pip install requests 第三方模块
re
安装模块:win + R 输入cmd 输入安装命令 pip install 模块名
如果出现爆红 可能是因为 网络连接超时 切换国内镜像源
基本流程(固定):
一. 数据来源分析
确定采集内容是什么? (目标网址, 网址里面数据)
通过开发者工具进行抓包分析, 分析我们想要数据 通过请求那个url地址可以获得
I. 通过分析可以知道 播放url地址是什么?
II. 通过播放地址, 去分析找寻, 数据包是在哪?
III. 通过两个数据包 请求参数对比, 可以知道 只要获取所有ID 就可以获取内容
(图片id MP4ID 音乐ID 还是什么ID 都可以去列表页面获取)
IV. 去分析 mp4ID可以从哪里获取 (一般情况都可以在列表页面获取)
我想要获取播放地址 >>> 要得到数据包 >>> 获取ID
二. 代码实现步骤 发送请求 获取数据 解析数据 保存数据
发送请求, 对于舞蹈列表页面发送请求
获取数据, 服务器返回数据内容
解析数据, 提取我们想要数据内容 ID
发送请求, 把ID传入到 数据包里面 发送请求
获取数据, 服务器返回数据内容
解析数据, 提取我们想要数据内容 标题 以及播放地址
保存数据, 把内容保存本地
多页数据采集
代码
(完整源码、素材皆可点击此处+获取)
导入模块
# 导入数据请求模块
import requests # 第三方模块 pip install requests 需要自行安装
# 导入re正则表达式
import re # 内置模块 不需要安装
# 导入格式化输出模块
import pprint # 内置模块 不需要安装
- 发送请求, 对于舞蹈视频列表页面发送请求
for page in range(1, 11):print(f'正在爬取第{page}页的数据内容')url = f'https:// **** .com/g/all?set_id=51&order=hot&page={page}'# 爬虫是模拟浏览器对于服务器发送请求, 然后获取服务器返回数据内容# user-agent: 用户代理 表示浏览器基本身份信息 (一种简单反反爬手段)headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'}# 通过requests模块里面get请求方式对于url地址发送请求, 并且携带上headers请求进行伪装, 最后用自定义变量response接收返回数据response = requests.get(url=url, headers=headers)# <Response [200]> 表示请求成功, 请求网址成功了 *** 200状态码表示请求成功, 但是不一定能够得到数据
- 获取数据, 服务器返回数据内容 response.text 获取响应文本数据
# print(response.text)
- 解析数据, 提取我们想要数据内容 视频ID
# 解析方式: css re xpath# <li data-vid="676382675"> 想要数据 可以(.*?) 从response.text 里面去找寻这样数据内容# .*? 是可以匹配任意字符(除了\n换行符以外) 如果你只是单纯提取数字 最好用 \d+ 匹配一个或者多个数字video_ids = re.findall('<li data-vid="(\d+)">', response.text) # 返回列表数据for video_id in video_ids: # 通过for循环遍历 提取列表里面元素 一个一个提取# print(video_id)
发送请求, 把视频ID传入到视频数据包里面发送请求
获取数据, 服务器返回数据内容
# f 字符串格式化方法 {} 占位符video_info = f'https:// **** .com/moment/getMomentContent?videoId={video_id}&uid=&_=1647433310180'json_data = requests.get(url=video_info, headers=headers).json()# print(json_data)# pprint.pprint(json_data)# 根据冒号左边的内容, 提取冒号右边的内容
- 解析数据
title = json_data['data']['moment']['title']video_url = json_data['data']['moment']['videoInfo']['definitions'][0]['url']
- 保存数据 >>> 发送请求 并且获取数据
"""response.text >>> 文本数据返回字符串数据response.json() >>> json字典数据response.content >>> 二进制数据"""video_content = requests.get(url=video_url, headers=headers).contentwith open('video\\' + title + '.mp4', mode='wb') as f:f.write(video_content)print(title, video_url)
尾语
【python】喜欢XJJ?这不得来一波大采集?相关推荐
- 人们对Python在企业级开发中的10大误解
From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...
- python程序员脱单攻略_520 情人节 :属于Python 程序员的脱单攻略大合集
原标题:520 情人节 :属于Python 程序员的脱单攻略大合集 情人节年年有,但今年的 5.20 要比以往的更有意义. 2020.05.20 ,爱你爱你我爱你,如果再卡个时间(13:14),那就是 ...
- python b站 排行_用python爬虫追踪知乎/B站大V排行
原标题:用python爬虫追踪知乎/B站大V排行 最近,我们的实训生清风小筑在学习和实践 python 的数据分析,前几周把知乎.B站.虎扑上的各种信息都抓了个遍,比如粉丝数.关注关系.发布时间.阅读 ...
- Python+Flask实现全国、全球疫情大数据可视化(二):网页页面布局+echarts可视化中国地图、世界地图、柱状图和折线图
文章目录 相关文章 一.实现效果 二.页面布局html+css main.html main.css 三.echarts图表制作 1.全国累计趋势折线图ec_l1.js 2.全国趋势变化折线图ec_l ...
- 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析⑤
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第⑤期, ...
- 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析③
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第③期, ...
- 【阿尼亚喜欢BigData】“红亚杯”大数据环境搭建与数据采集技能线上专题赛——满分解析②
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第②期, ...
- Python再夺冠,上古语言COBOL大流行,IEEE Spectrum 2020年度编程语言排行榜出炉!...
整理 | 屠敏 题图 | 东方 IC 出品 | CSDN 博客 领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum ...
- python 做个创越火线挂_一日一技:用Python做个能挂墙上的大钟表
今天给大家分享 1 个非常实用的 python 技能--用 Python 做个能挂墙上的大钟表,先上成果视频: 本项目用到的库主要有 pygame . math . datetime 等,另外还用到一 ...
最新文章
- 黑客用上机器学习你慌不慌?这 7 种窃取数据的新手段快来认识一下!
- linux下crontab实现定时服务详解
- Javascript深入浅出
- 虚拟机+可信+云计算
- BroadCastReceiver简介
- JQuery 总结(4) DOM操作
- Servlet、Tomcat、 SpringMVC 之间的关系
- Hadoop学习之路(九)HDFS深入理解
- hotelling t2 matlab,pca主成份分析方法
- Java 中去除字符串中空格的方法
- 实时录制视频,实时去除人_录制实时演示,第2部分:软件设置
- ps导出切片批量改名
- OTL:通用数据库连接模板
- TPS,MIS,DSS,ESS,临时表
- 计算图替代——一种DNN框架计算图优化方法
- 中级的“信息系统管理工程师”、“系统集成项目管理工程师”和高级的“信息系统项目管理师”有什么区别?
- 张超 计算机 清华 论文,张超-清华大学航天航空学院
- 咸鱼带你学计算机网络—物理层(二)
- Centos 安装docker后 deamo 无法启动的问题 解决
- 常见的网络营销技巧有哪些?
热门文章
- 这不是一支烟斗 图灵链条 薛定谔的猫 [20160303]
- 如何在Win7安装U盘中加入USB3.0的支持
- Python程序 天天向上的力量有多大
- linux no mail for root,Linux定时任务Crontab使用 提示no crontab for root
- gcc的-g,-o,-c,-D,-w,-W,-Wall,-O3等参数的意义
- 神经网络中的概率分布函数
- openoffice安装及卸载方式
- caffe-segnet编译
- 开放的精神推动Aleph Objects的成功
- 芬兰:网上性骚扰可能要坐牢
From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...
原标题:520 情人节 :属于Python 程序员的脱单攻略大合集 情人节年年有,但今年的 5.20 要比以往的更有意义. 2020.05.20 ,爱你爱你我爱你,如果再卡个时间(13:14),那就是 ...
原标题:用python爬虫追踪知乎/B站大V排行 最近,我们的实训生清风小筑在学习和实践 python 的数据分析,前几周把知乎.B站.虎扑上的各种信息都抓了个遍,比如粉丝数.关注关系.发布时间.阅读 ...
文章目录 相关文章 一.实现效果 二.页面布局html+css main.html main.css 三.echarts图表制作 1.全国累计趋势折线图ec_l1.js 2.全国趋势变化折线图ec_l ...
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第⑤期, ...
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第③期, ...
大家好,喜欢Bigdata的阿尼亚来了!希望大家会喜欢阿尼亚的文章!!哇酷哇酷!!! 本次为师傅们带来的是"红亚杯"大数据环境搭建与数据采集技能线上专题赛--满分解析系列的第②期, ...
整理 | 屠敏 题图 | 东方 IC 出品 | CSDN 博客 领域驱动技术,技术鞭策领域. 近日,IEEE Spectrum 最新发布了 2020 年年度编程语言排行榜.IEEE Spectrum ...
今天给大家分享 1 个非常实用的 python 技能--用 Python 做个能挂墙上的大钟表,先上成果视频: 本项目用到的库主要有 pygame . math . datetime 等,另外还用到一 ...