我是怎么抓取逆水寒大宋佳人漂亮的小姐姐的呢?70行代码解决问题

一年一度的大宋佳人活动又开始了,小姐姐们又开始了踊跃的报名,都有哪些漂亮的小姐姐呢?不放我们来爬一下看看

  • 注:本文仅用于python爬虫学习,请勿滥用数据,严禁侵犯个人隐私

基础分析

大宋佳人活动主页面:https://n.163.com/2021/dasongjiaren4/#/list

  • 打开页面向下翻,有三个赛道,美颜赛道,魔音赛道,萌宠赛道;今天我们主要来分析美颜和魔音赛道。萌宠赛道因为是今年新增加的,界面与美颜魔音不同,暂不分析。具体如下图所示【为保护隐私,图片适当打码】
    大宋佳人首页

  • 按下F12,切换到Network,刷新网页然后开始分析,很容易可以判断真正的数据请求链接为:https://nshssl.hi.163.com/file_mg/public/nsh/dasongjiaren202104/list/hot?callback=jQuery111305466870739796736_1619712866351&channel=1&page=1&_=1619712866355

  • 根据既往经验,以及返回的数据内容发现jQuery111305466870739796736_1619712866351的一大堆对我们的数据抓取其实是没用的,因此这部分参数去掉后,返回的数据就是json格式了,并且更容易处理

  • channel 是赛道信息,1是美颜,2是魔音,注意3不是萌宠,萌宠是新的界面,后续有时间再去分析

  • page明显是一个页码

  • 最后一个参数 _=1619712866355,这个明显是一个时间戳的毫秒形式

  • 我们暂时去除jquery那个参数后看一下数据返回信息;这是一个unicode编码
    原始返回

  • 我们继续解码后,结果为:
    解码信息
    这是一个标准的json数据,是我们想要的结果,更换参数page=2,就是第二页的信息,没有问题

  • 因此,我们已经拿到的核心的请求部分;同理修改channel,发现数据确实是是魔音赛道的,接下来开始写代码

代码模块确定

  • 使用requests库,从网页获取原始数据
  • 使用pandas转换并且依次合并后续数据
  • 考虑到为了方便的进入对于角色的详情界面,我在结果那里增加了一个参数 href,基本组成部分为 https://n.163.com/2021/dasongjiaren4/#/detail/ + id
  • 最后保存在Excel或者数据库中,本次演示保存在一个Excel文件中的两个表

准备工作

  • Python环境安装 最新版Python 64位安装包
  • 第三方库安装
pip install requests
pip install pandas

代码编写

  • 代码还有很多优化的空间,如果要学习的话,请自行探索,可以与我私信交流
# !usr/bin/env python
# -*-coding:utf-8 -*-
import requests
import pandas
import timeclass DaSongJiaRen:def __init__(self):self.url = 'https://nshssl.hi.163.com/file_mg/public/nsh/dasongjiaren202104/list/hot'self.head = []self.pages = 0self.data_meiyan = pandas.DataFrame()self.data_moyin = pandas.DataFrame()def get_html(self, channel, page):"""获取源码:param channel: 频道信息,1为美颜赛道,2为魔音赛道:param page: 第几页:return:"""# 最后这个时间戳可以不要url = self.url + f'?channel={channel}&page={page}&_={int(time.time()*1000)}'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/90.0.4430.85 Safari/537.36'}r = requests.get(url, headers=headers)js = r.json()lis = js['data']['list']if not self.pages:self.pages = js['data']['pages']self.head = list(lis[0].keys()) + ['href']data = [list(each.values())for each in lis]data = [each+ [f'https://n.163.com/2021/dasongjiaren4/#/detail/{each[0]}'] for each in data]if channel == 1:if self.data_meiyan.empty:self.data_meiyan = pandas.DataFrame(data, columns=self.head)else:self.data_meiyan = pandas.concat([self.data_meiyan, pandas.DataFrame(data, columns=self.head)])else:if self.data_moyin.empty:self.data_moyin = pandas.DataFrame(data, columns=self.head)else:self.data_moyin = pandas.concat([self.data_moyin, pandas.DataFrame(data, columns=self.head)])print(f'完成{"美颜" if channel == 1 else "魔音"}赛道 第{page}页')def save_data(self):wr = pandas.io.excel.ExcelWriter('大宋佳人数据.xlsx')self.data_meiyan.to_excel(wr, index=False, sheet_name='美颜赛道')self.data_moyin.to_excel(wr, index=False, sheet_name='魔音赛道')wr.save()print('数据已保存')def main(self):page = 1while page == 1 or (self.pages and page <= self.pages):self.get_html(channel=1, page=page)page += 1print('美颜赛道信息获取完毕')page = 1self.pages = 0self.head = []while page == 1 or (self.pages and page <= self.pages):self.get_html(channel=2, page=page)page += 1print('魔音赛道信息获取完毕')self.save_data()if __name__ == '__main__':dsjr = DaSongJiaRen()dsjr.main()

运行过程展示

代码运行输出

结果展示

Excel文件内容
结果展示

后记

本次数据爬取仅为了练习Python网抓,请勿将数据用于非法途径,请勿侵犯个人隐私信息。数据来自网易雷火,抓取的时候,适当考虑一下延时,避免对服务器造成影响

备注

如有其他疑问,请私信我。觉得写的不错的话,来个一键三连,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58161.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html制作《逆水寒》心得及部分代码

制作网页的心得和部分代码 布局 原图 首先&#xff0c;我们要明确网页的布局&#xff0c;以此来判断需要几个盒子&#xff0c;放在什么样的位置。从原网页中不难看出&#xff0c;我们可以把这张图分为这几个部分&#xff1a; 大的布局上&#xff0c;我们分为三个盒子。1号大…

chatgpt赋能python:Python分词,助力文本处理和搜索引擎优化

Python分词&#xff0c;助力文本处理和搜索引擎优化 作为一种广泛应用于文本处理的编程语言&#xff0c;Python在分词处理方面也有着得天独厚的优势。Python分词不仅可以帮助我们完成文本处理任务&#xff0c;还能够为搜索引擎优化提供便利。 什么是分词&#xff1f; 分词&a…

巴比特 | 元宇宙每日必读:百度冲刺ChatGPT,CTO王海峰任总指挥,三月份完成内测的目标能否达成?...

摘要&#xff1a;据财联社报道&#xff0c;2月7日百度官宣“文心一言”项目时&#xff0c;给自己掐上了“三月完成内测”的倒计时&#xff0c;多位百度员工表示&#xff0c;高层下了死命令&#xff0c;要在一个月时间内看到产品。为此&#xff0c;百度也集结了公司在深度学习、…

互联网高薪时代,彻底结束了?

作者| Mr.K 编辑| Emma 来源| 技术领导力(ID&#xff1a;jishulingdaoli) 两个月前&#xff0c;马斯克接受媒体采访时亲口承认&#xff0c;推特已裁员80%&#xff0c;从原来的近8000人&#xff0c;减少到了现在的1500名。这么大规模的裁员带来了什么“严重”后果呢&#xff1…

商业计划书范文3000_项目融资商业计划书模板范文PPT

商业计划书(Business Plane),简称为BP&#xff0c;大家可不要小看这一份BP&#xff0c;它是一个非常重要的存在&#xff0c;可以说是一块敲门砖&#xff0c;帮助创业者打开资本市场的大门。那么&#xff0c;如何打造一份项目融资商业计划书&#xff0c;这里为大家整理了一些模板…

项目融资计划书PPT模板

模板介绍 本套项目融资计划书PPT模板,模板编号&#xff1a;P26185&#xff0c;大小10MB,共27页,比例为16:9,由封面、目录、转场页、内容、结尾5个部分构成。 内含橙色,红色多种配色&#xff0c;精美简约风格设计&#xff0c;动态播放效果&#xff0c;精美实用。 一份设计精美…

上市融资计划书PPT模板

模板介绍 一份高质量的PPT模板&#xff0c;可以让你在日常的工作中展示自我、脱颖而出、去赢得更多机会&#xff0c;今天小编分享一份精美的上市融资计划书PPT模板 PPT模板名称&#xff1a;上市融资计划书PPT模板&#xff0c;模板编号&#xff1a;P11463&#xff0c;大小10MB&…

a轮融资计划书PPT模板

模板介绍 一份高质量的PPT模板&#xff0c;可以让你在日常的工作中展示自我、脱颖而出、去赢得更多机会&#xff0c;今天小编分享一份精美的a轮融资计划书PPT模板 PPT模板名称&#xff1a;a轮融资计划书PPT模板&#xff0c;模板编号&#xff1a;P56225&#xff0c;大小10MB&am…

如何写出一份完美的BP(商业计划书)?

来源&#xff1a;股权投资论坛&#xff08;PE821010&#xff09; 作者&#xff1a;吕顺辉 一、商业计划书是创业者找VC/PE的敲门砖 •据统计投资人平均每天收到50-100份BP&#xff0c;而只有5-8份会受到重视 •投资人阅读每份商业计划书平均时间为3分44秒 •商业计划书平均…

商业创业融资计划书PPT模板

模板介绍 本套商业创业融资计划书PPT模板,模板编号&#xff1a;P34634&#xff0c;大小10MB,共27页,比例为16:9,由封面、目录、转场页、内容、结尾5个部分构成。 内含灰色,黄色多种配色&#xff0c;精美微立体风格设计&#xff0c;动态播放效果&#xff0c;精美实用。 一份设…

贾跃亭融资计划书曝光:看他如何靠两份PPT融资150亿

贾跃亭融资计划书曝光&#xff1a;看他如何靠两份PPT融资150亿 手机搜狐网 12-28 08:25 虎嗅注&#xff1a;原本长袖善舞的贾跃亭能落魄到躲在美国不敢回来&#xff0c;也是一年前所有人都没想到的闹剧。想当初自言“融资能力差”的他还为乐视体育拿到了80亿元B轮融资。而今&am…

今日头条定位融资商业计划书

今日头条如今的江湖地位毋庸置疑&#xff0c;以其超高人气的今日头条和抖音为基础&#xff0c;与阿里腾讯并列为中国互联网流量界三巨头。 我们来看一看2013年字节跳动的商业计划书&#xff0c;从其管理层陈述书中可以见到当时头条是出于在了一个何其激荡正在急剧变化的时代。我…

经典商业融资计划书PPT模板

模板介绍 一份高质量的PPT模板&#xff0c;可以让你在日常的工作中展示自我、脱颖而出、去赢得更多机会&#xff0c;今天小编分享一份精美的经典商业融资计划书PPT模板 PPT模板名称&#xff1a;经典商业融资计划书PPT模板&#xff0c;模板编号&#xff1a;P98467&#xff0c;大…

史上最强的融资方案商业计划书

史上最强的融资方案商业计划书 资本时代&#xff1a;领先一步等于领先一路&#xff0c;领先一年等于领先一个时代&#xff01; 这个问题需要从企业发展过程中的融资谈起&#xff0c;企业要获得发展就一定要有大量资金的支持才行。一般来讲&#xff0c;企业获取资金支持的主要…

融资方案的商业计划书

融资方案的商业计划书 资本时代&#xff1a;领先一步等于领先一路&#xff0c;领先一年等于领先一个时代&#xff01; 这个问题需要从企业发展过程中的融资谈起&#xff0c;企业要获得发展就一定要有大量资金的支持才行。一般来讲&#xff0c;企业获取资金支持的主要方式&…

【解决方案】关于windows问题新的解决方案——智能AI,也许你可以让它做的更多

非常抱歉许久未更新关于Windows问题解决的文章。我一直在想如何提供更好的服务和解决方案&#xff0c;直到chatGPT的出现&#xff0c;算是目前能想到的完美方案&#xff0c;为您推广的智能聊天机器人&#xff0c;关注后快速体验吧&#xff0c;该公众号会持续更新更多AI作品&…

chatgpt赋能python:Python获取微信群聊天记录

Python获取微信群聊天记录 微信是目前中国最受欢迎的社交聊天应用程序之一。许多人都习惯在微信群中进行聊天和信息交流。然而&#xff0c;有时我们需要保存一些重要的聊天记录&#xff0c;以备日后查看和备份。Python可以帮助我们实现获取微信群聊天记录的目的。 为什么使用…

零代码编程:用ChatGPT下载微信网页中的音频

现在很多微信网页中都有音频&#xff0c;该如何下载呢&#xff1f; 在chrome浏览器中右击&#xff0c;点击inspect&#xff0c;然后选择network&#xff0c;然后选择media&#xff0c;就可以看到Request URL: https://res.wx.qq.com/voice/getvoice?mediaidMzA4NTQ1MzEyNV8yNj…

告别混乱代码,这份 SpringBoot 后端接口规范太及时了!

程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 20 分钟。 来自&#xff1a;blog.csdn.net/lemon_TT/article/details/108309900 文章目录 一、前言二、环境说明三、参数校验 1、介绍2、Validator 自动抛出异常&#xff08;使用&#xff09;3、分组校验…

基于GPT-4免费生成代码的工具!小游戏,管理系统都能生成!

Cursor支持Python、Java、C、JavaScript、C#等等&#xff0c;可AI生成代码&#xff0c;功能非常强大&#xff01;这篇教程将教你如何下载安装&#xff0c;带你玩转Cursor 目录 话不多说&#xff0c;先看能力&#xff1a; 只需要三步&#xff0c;就可以AI出你想要的代码&#x…