【python】喜欢XJJ?这不得来一波大采集?

这篇具有很好参考价值的文章主要介绍了【python】喜欢XJJ?这不得来一波大采集?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

搓自己的xjj,爬虫小案例,python,开发语言,pycharm

俗话说的好:技能学了~就要用在自己喜欢得东西上!!

这我不得听个话~我喜欢小姐姐,跳舞的小姐姐

这不得用python把小姐姐舞采集下来~嘿嘿嘿

搓自己的xjj,爬虫小案例,python,开发语言,pycharm


完整源码、素材皆可点击文章下方名片获取此处跳转

知识点:

  1. 采集基本流程

  2. re正则表达式简单使用

  3. requests

  4. json数据解析方法

  5. 数据保存


采集网站:

搓自己的xjj,爬虫小案例,python,开发语言,pycharm


开发环境:

  • Python 3.8

  • Pycharm


模块使用:

  • requests >>> pip install requests 第三方模块

  • re

安装模块:win + R 输入cmd 输入安装命令 pip install 模块名

如果出现爆红 可能是因为 网络连接超时 切换国内镜像源


基本流程(固定):

一. 数据来源分析

  1. 确定采集内容是什么? (目标网址, 网址里面数据)

  2. 通过开发者工具进行抓包分析, 分析我们想要数据 通过请求那个url地址可以获得

    I. 通过分析可以知道 播放url地址是什么?

    II. 通过播放地址, 去分析找寻, 数据包是在哪?

    III. 通过两个数据包 请求参数对比, 可以知道 只要获取所有ID 就可以获取内容

    (图片id MP4ID 音乐ID 还是什么ID 都可以去列表页面获取)

    IV. 去分析 mp4ID可以从哪里获取 (一般情况都可以在列表页面获取)

我想要获取播放地址 >>> 要得到数据包 >>> 获取ID

二. 代码实现步骤 发送请求 获取数据 解析数据 保存数据

  1. 发送请求, 对于舞蹈列表页面发送请求

  2. 获取数据, 服务器返回数据内容

  3. 解析数据, 提取我们想要数据内容 ID

  4. 发送请求, 把ID传入到 数据包里面 发送请求

  5. 获取数据, 服务器返回数据内容

  6. 解析数据, 提取我们想要数据内容 标题 以及播放地址

  7. 保存数据, 把内容保存本地

  8. 多页数据采集


代码

(完整源码、素材皆可点击此处+获取)

导入模块

# 导入数据请求模块
import requests   # 第三方模块 pip install requests 需要自行安装
# 导入re正则表达式
import re   # 内置模块 不需要安装
# 导入格式化输出模块
import pprint   # 内置模块 不需要安装
  1. 发送请求, 对于舞蹈视频列表页面发送请求
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状态码表示请求成功, 但是不一定能够得到数据
  1. 获取数据, 服务器返回数据内容 response.text 获取响应文本数据
    # print(response.text)
  1. 解析数据, 提取我们想要数据内容 视频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)
  1. 发送请求, 把视频ID传入到视频数据包里面发送请求

  2. 获取数据, 服务器返回数据内容

        # 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)
        # 根据冒号左边的内容, 提取冒号右边的内容
  1. 解析数据
        title = json_data['data']['moment']['title']
        video_url = json_data['data']['moment']['videoInfo']['definitions'][0]['url']
  1. 保存数据 >>> 发送请求 并且获取数据
        """
        response.text   >>> 文本数据返回字符串数据
        response.json() >>> json字典数据
        response.content >>> 二进制数据
        """
        video_content = requests.get(url=video_url, headers=headers).content
        with open('video\\' + title + '.mp4', mode='wb') as f:
            f.write(video_content)
        print(title, video_url)


搓自己的xjj,爬虫小案例,python,开发语言,pycharm搓自己的xjj,爬虫小案例,python,开发语言,pycharm
搓自己的xjj,爬虫小案例,python,开发语言,pycharm

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇文章来源地址https://www.toymoban.com/news/detail-779635.html

到了这里,关于【python】喜欢XJJ?这不得来一波大采集?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】-- Turtle绘图(使用代码画喜欢的图形!)

    什么是Turtle? turtle库是Python语言中一个很流行的绘制图像的函数库,可以想象一个小乌龟在爬行,它的爬行轨迹就是绘制出来的图形,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制

    2024年02月03日
    浏览(35)
  • 防御性编程?这不就来了

    最近程序员界又重新流行起来了防御性编程这个概念,早期嘞,这个概念代表是一种细致、谨慎的编程方法。 防御性编程的目的是为了开发可靠的软件,我们在设计系统中每个组件的时候,都需要使其尽可能的 \\\"保护\\\" 自己。 但是 2023 年以来,国内的互联网市场是什么行情,

    2024年02月04日
    浏览(28)
  • LVI-SAM:配置环境、安装测试、适配自己采集数据集

    LVI-SAM是TixiaoShan大佬在他之前LIO-SAM工作基础上耦合了视觉惯性里程计,算法包含雷达惯性里程计模块及视觉惯性里程计模块,其中视觉惯性里程计采用VINS-MONO,其实整体设计是为了在雷达退化的场景中,使用视觉里程计定位结果代替雷达退化方向位姿,同时利用雷达惯性里程

    2023年04月09日
    浏览(31)
  • CTF —— 网络安全大赛(这不比王者好玩吗?)

    前言 随着大数据、人工智能的发展,人们步入了新的时代,逐渐走上科技的巅峰。 ⚔科技是一把双刃剑,网络安全不容忽视,人们的隐私在大数据面前暴露无遗,账户被盗、资金损失、网络诈骗、隐私泄露,种种迹象表明,随着互联网的发展,网络安全需要引起人们的重视

    2024年02月07日
    浏览(34)
  • 私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷

    首先,要说明一点,elk日志中心,是可以缺少kafka组件的。 其次,如果是研发环境下,机器资源紧张的情况下,也是可不部署kafka。 最后,因为kafka的部署是可以独立的,所以本文将另行部署,不和elk一起。 本机的IP地址是192.168.8.29,请你修改为自己的IP 本机的IP地址是192.1

    2024年02月04日
    浏览(33)
  • YOLOv5训练自己的数据集(含数据采集、数据标注、数据预处理、借助colab训练)

    YOLOv5 github:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch ONNX CoreML TFLite 先从github下载源码到本地,用pycharm打开工程   本次采集数据采用的方式是录取视频,然后用python截取视频帧当做图片,这是处理代码:   可以使用labelimg工具、make sense(Make Sense)在线标注,注意数据集需要与

    2024年02月05日
    浏览(72)
  • 被迫学习一波Linux命令

    事情起因 部署一个服务,人家说了最低配置是3G,我没当回事,拿着个2G的服务器直接就上了,结果,哈哈,都能猜到结果:服务器内存爆了!!!而且最可气的是服务器还登不进去,重启之后内马上又被拉满了,根本连接进不去。算是一次小小的事故,记录是为了不再犯同

    2024年02月12日
    浏览(25)
  • 我们又更新了一波大厂面经!

    大家好,我是阳哥。 专注Go语言的学习经验分享和就业辅导。 之前分享了很多 Golang 后端的大厂面经,不少同学在催更新,这篇给大家继续安排。 本文来自一位同学的投稿,面试深X服的面经汇总,前半部分主要是Go语言相关,后半部分也涉及微服务和Redis。 slice切片扩容机制

    2024年02月08日
    浏览(33)
  • 如何应对ChatGPT这一波AI浪潮

    最近我在写一系列文章,其中包括《ChatGPT 实战系列》和《WPS Office AI实战系列》。想通过这些文章提供实践指导,既自己动手实践了,也能与大家分享我的实践结果,这是一个学习的过程。在实践过程中,我发现有些实用的方面非常出色,而有些方面则不太符合预期。如果要

    2024年02月16日
    浏览(27)
  • 体验一波ChatGpt工具-cursor(自动代码生成)

    最近体验了一把cursor,自动生成代码工具,集成了最近很火的ChatGpt,目前比较好的就是代码生成工具大概就是github copilot和cursor,不过github copilot需要付费使用或者漫长的waitlist,所以目前比较好的cursor 官网介绍如下: 配置自己经常使用的语言,比如ts、html、css等等 目前来说

    2023年04月21日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包