• 【python】美女在召唤,python批量采集~


    前言

    嗨喽~大家好呀,这里是魔王呐 !

    知识点:

    • 动态数据抓包

    • requests发送请求

    • json数据解析

    开发环境:

    • python 3.8

      运行代码

    • pycharm 2021.2

      辅助敲代码

    • requests

      pip install requests

    思路分析

    如何去实现一个案例:

    简单的 基础知识点内容比较多的案例

    批量 采集 互联网当中数据

    原理: 模拟 浏览器/客户端 向 服务器 发送网络请求

    第一个步骤

    找到数据来源

    实现代码:

    1. 发送请求

    2. 获取数据

    3. 解析数据

    4. 保存数据

    🎯 博主所有文章素材、解答、源码领取处:点击

    代码展示

    导入模块

    import requests         # 发送请求 第三方模块
    import re
    
    • 1
    • 2

    请求头

    # 请求体 也得是字典?
    json = {
        'operationName': "visionSearchPhoto",
        'query': "fragment photoContent on PhotoEntity {\n  id\n  duration\n  caption\n  originCaption\n  likeCount\n  viewCount\n  realLikeCount\n  coverUrl\n  photoUrl\n  photoH265Url\n  manifest\n  manifestH265\n  videoResource\n  coverUrls {\n    url\n    __typename\n  }\n  timestamp\n  expTag\n  animatedCoverUrl\n  distance\n  videoRatio\n  liked\n  stereoType\n  profileUserTopPhoto\n  musicBlocked\n  __typename\n}\n\nfragment feedContent on Feed {\n  type\n  author {\n    id\n    name\n    headerUrl\n    following\n    headerUrls {\n      url\n      __typename\n    }\n    __typename\n  }\n  photo {\n    ...photoContent\n    __typename\n  }\n  canAddComment\n  llsid\n  status\n  currentPcursor\n  tags {\n    type\n    name\n    __typename\n  }\n  __typename\n}\n\nquery visionSearchPhoto($keyword: String, $pcursor: String, $searchSessionId: String, $page: String, $webPageArea: String) {\n  visionSearchPhoto(keyword: $keyword, pcursor: $pcursor, searchSessionId: $searchSessionId, page: $page, webPageArea: $webPageArea) {\n    result\n    llsid\n    webPageArea\n    feeds {\n      ...feedContent\n      __typename\n    }\n    searchSessionId\n    pcursor\n    aladdinBanner {\n      imgUrl\n      link\n      __typename\n    }\n    __typename\n  }\n}\n",
        'variables': {'keyword': "换装", 'pcursor': "", 'page': "search"}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    json和字典是两个东西

    json和字典可以互相转换类型

    到底什么是json?

    json是一种数据交互格式

    前后端数据交互

    前端:网页

    后端:数据传输

    json在Python里面其实就是字符串 内容转换成 字典

    日常生活中所用的字典

    通过拼音找到字

    通过:前面的找到:后面的内容

    {“A”:“123”, “B”:{“C”:{“D”:“”}}}[“B”][“C”][“D”]

    发送请求

    response = requests.post(url=url, headers=headers, json=json)
    
    • 1

    获取数据

    : 请求成功

    .text: 字符串

    .json(): 字典数据

    .content: 获取二进制数据 视频/音频/图片

    json_dict = response.json()
    
    • 1

    解析数据

    feeds = json_dict['data']['visionSearchPhoto']['feeds']
    # len(feeds): 测量feeds的长度
    for i in range(0, len(feeds)):
        photoUrl = feeds[i]['photo']['photoUrl']
        caption = feeds[i]['photo']['caption']
        caption = re.sub('[\\\/:*?"<>|\\n]', '_', caption)
        print(caption, photoUrl)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    保存数据

        video_data = requests.get(photoUrl).content
        with open(f'video/{caption}.mp4', mode='wb') as f:
            f.write(video_data)
    
    • 1
    • 2
    • 3

    效果展示


    推荐往期文章

    🎯 博主所有文章素材、解答、源码领取处:点击

    对python感兴趣的小伙伴也可以看一下博主其他相关文章哦~

    python小介绍:

    python是什么?工作前景如何?怎么算有基础?爬数据违法嘛?。。

    python数据分析前景:

    用python分析“数据分析”到底值不值得学习,以及学完之后大概能拿到多少工资

    python基础自测题:

    Python 800 道习题 (°ー°〃) 测试你学废了嘛

    最后推荐一套Python视频给大家,希望对大家有所帮助:

    全套教程!你和大佬只有一步之遥【python教程】

    尾语

    要成功,先发疯,下定决心往前冲!

    学习是需要长期坚持的,一步一个脚印地走向未来!

    未来的你一定会感谢今天学习的你。

    —— 心灵鸡汤

    本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

    👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇
  • 相关阅读:
    169. 多数元素
    南卡VS明基护眼台灯对比测评!2022双十一哪款更值得入手?
    在unity 2020 urp版本中实现 LensFlare功能
    机器学习二元分类 & 二元交叉熵 & 二元分类例子
    Dubbo面试题(一)
    【移远QuecPython】EC800M物联网开发板的内置GNSS定位的恶性BUG(目前没有完全的解决方案)
    kubernetes--资源调度
    SELECT * from t_user where user_id = xxx,可以从那几个点去优化这句sql
    Node.js | 深入讲解 express 应用程序生成器
    Pandas数据分析29——faker构建虚拟数据集
  • 原文地址:https://blog.csdn.net/python56123/article/details/127751387