【python】美女在召唤,python批量采集~
创始人
2024-04-05 15:05:02
0

前言

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

知识点:

  • 动态数据抓包

  • requests发送请求

  • json数据解析

开发环境:

  • python 3.8

    运行代码

  • pycharm 2021.2

    辅助敲代码

  • requests

    pip install requests

思路分析

如何去实现一个案例:

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

批量 采集 互联网当中数据

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

第一个步骤

找到数据来源

实现代码:

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

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

代码展示

导入模块

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

请求头

# 请求体 也得是字典?
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"}
}

json和字典是两个东西

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

到底什么是json?

json是一种数据交互格式

前后端数据交互

前端:网页

后端:数据传输

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

日常生活中所用的字典

通过拼音找到字

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

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

发送请求

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

获取数据

: 请求成功

.text: 字符串

.json(): 字典数据

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

json_dict = response.json()

解析数据

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)

保存数据

    video_data = requests.get(photoUrl).contentwith open(f'video/{caption}.mp4', mode='wb') as f:f.write(video_data)

效果展示


推荐往期文章

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

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

python小介绍:

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

python数据分析前景:

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

python基础自测题:

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

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

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

尾语

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

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

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

—— 心灵鸡汤

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

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...