• 周末了,不得找个陪玩打游戏?看我用Python怎么找个最好的


    序言

    好兄弟们,陪玩大家多少都知道亿点吧!

    漂亮妹妹超级多,长得又好看,还会萝莉音御姐音,滋溜~

    就是说,今天来带咱们来爬爬陪玩的数据,一起看看行情咋样~

    工欲善其事,必先利其器

    我们爬东西,一般都是用的这几步:

    1、数据来源分析

    确定需求,采集那个网站上面什么数据。

    抓包分析,通过开发者工具进行抓包分析。

    2、实现步骤

    1. 发送请求,对于刚刚分析得到url地址发送请求;

    2. 获取数据, 获取服务器返回响应数据;

    3. 解析数据, 提取我们想要数据内容,音频试音,陪玩照片, 基本陪玩数据;

    4. 保存数据, 保存本地文件夹;

    3、环境与模块

    环境

    python 3.8
    pycharm
    
    • 1
    • 2

    模块安装使用

    import requests # 数据请求模块
    from pprint import pprint # 格式化输出模块
    import json # json模块
    import csv # csv模块
    import os.path  # 自动创建文件模块
    
    • 1
    • 2
    • 3
    • 4
    • 5

    requests 是导入数据请求模块,属于第三方模块,需要在cmd里面或者pycharm终端里面进行安装 pip install requests 安装。

    其它三个都是内置模块,不需要安装。

    代码展示

    代码仅做展示,完整代码文末名片自取哈,我也录了对应的视频讲解,一起发给你~

    c = open('data.csv', mode='a', encoding='utf-8-sig', newline='')
    
    csv_writer = csv.DictWriter(c, fieldnames=[
        '昵称',
        '价格',
        '热度',
        '简介',
        '详情页',
    ])
    
    csv_writer.writeheader()
     
    for page in range(1, 11): 
    
        url = 'https://****/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'],
    
                '简介': index['summary'].replace('\n', ''),
    
                '详情页': f'https://*****/user/{index["uid"]}',
    
            audio_url = 'https://****/' + json.loads(index['voice'])['url']
    
            img_url = f'https://****/user/avatar/{index["uid"]}?image…ew2/1/interlace/1/ignore-error/1/w/100/format/jpg'
    
            img_content = requests.get(url=img_url).content  
            audio_content = requests.get(url=audio_url).content  
            
            title = index["nickname"]
    
            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('img\\' + title + '.jpg', mode='wb') as img:
                img.write(img_content)
            with open(file + title + '.mp3', mode='wb') as audio:
                audio.write(audio_content)
    
            csv_writer.writerow(dit)
            print(dit)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    网址只能屏蔽了,不然发不出~

    好兄弟们,不知不觉都写到半夜了,最后再给大家分享一波Python视频吧,希望对各位有所帮助:

    Python零基础入门全套教程

    Python进阶全套教程

    Python实战100例

    溜了溜了~
    睡觉睡觉~

  • 相关阅读:
    【Redis】基础数据结构-ziplist压缩列表
    Nacos是怎样实现配置动态更新的?如何动态更新bean?
    刷题用到的非常有用的函数c++(持续更新)
    SDP最佳实践丨为汽车品牌 L 铸造「数字化营销+管控」
    MySQL 安全相关配置参数
    水厂除砷项目,砷出水未检出
    Android 开发常见问题
    JumpServer开源堡垒机完成龙芯架构兼容性认证
    1019 数字黑洞
    2022最新阿里Java面经,转疯了
  • 原文地址:https://blog.csdn.net/fei347795790/article/details/127710421