游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

时间:2023-03-09 07:55:50

前言

(。・∀・)ノ゙嗨 大家好

现在应该每个人都玩过游戏吧,有些的上瘾,天天玩停不下来,有些的倒是没啥感觉

有游戏就肯定有陪玩啊,毕竟当朋友忙的时候,自己一个人玩着多没意思,所以就是说,总得找个人陪,尤其是嘿嘿,人美声甜的啊

没太多了解这个行业,今天就用python来采集采集,这行的行情怎么样,并且瞧瞧都有哪些靓仔靓妹~

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

数据来源分析:

  • 确定需求, 采集那个网站上面什么数据
  • 抓包分析, 通过开发者工具进行抓包分析

代码实现步骤过程:

  • 发送请求, 对于刚刚分析得到url地址发送请求
  • 获取数据, 获取服务器返回响应数据
  • 解析数据, 提取我们想要数据内容,音频试音,陪玩照片, 基本陪玩数据
  • 保存数据, 保存本地文件夹

涉及知识点

图片数据采集 / 音频数据采集 / csv数据保存

开发环境

  • python 3.8
  • pycharm

模块使用

  • import os: 文件操作
  • import re: 正则
  • import requests: 数据请求
  • import json:json数据转换
  • import csv: 保存csv数据

代码实现【文末名片领取】

请求数据

对于分析得到url地址发送请求
headers是否添加, 看网站, 网站没什么反爬的话, 可以不用加

url = 'https://***.com/api'
# 请求参数
data = {
    'act': 'userList',
    'page': page,
    'type': '1',
    'sex': '2',
    'voice': '1',
    'order': '1',
}
# 发送请求
response = requests.post(url=url, data=data)

解析数据

提取我们想要数据内容, 音频试音, 陪玩照片, 基本陪玩数据 键值对取值:返回数据字典数据类型, 字典取值根据冒号左边的内容[键],提取冒号右边的内容[值]

for index in response.json()['data']['rows']:
    # 基本数据获取 --> 保存表格里面
    dit = {
        '昵称': index['nickname'],
        '价格': index['price'],
        '热度': index['exp'],
        # replace() 字符串替换的方法 replace('替换之前的内容', '替换之后的内容')
        '简介': index['summary'].replace('\n', ''),
        # f'{}' 字符串格式化方法 format
        '详情页': f'https://****.com/user/{index["uid"]}',
    }690643772 ### 源码领取
    audio_url = 'https://****/' + json.loads(index['voice'])['url']
    img_url = f'https://****'

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

保存数据

陪玩详情数据

import os.path
c = open('data.csv', mode='a', encoding='utf-8-sig', newline='')
# c 文件对象 fieldnames 字段名
csv_writer = csv.DictWriter(c, fieldnames=[
    '昵称',
    '价格',
    '热度',
    '简介',
    '详情页',
])
# 写入表头
csv_writer.writeheader()
# 保存表格数据
csv_writer.writerow(dit)
print(dit)

保存试音音频、图片数据

img_content = requests.get(url=img_url).content  # 图片二进制数据
audio_content = requests.get(url=audio_url).content  # 音频二进制数据
title = index["nickname"]
# 自动创建文件夹 data\\憨憨\\
file = f'data\\{title}\\'
# 判断如果没有文件夹
if not os.path.exists(file):
    # 自动创建文件夹
    os.makedirs(file)
with open(file + title + '.jpg', mode='wb') as img:
    img.write(img_content)
with open(file + title + '.mp3', mode='wb') as audio:
    audio.write(audio_content)

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

最后

今天的分享到这里就结束了

对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦

觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/