python-乘风者计划总浏览量获取

简介: python-乘风者计划总浏览量获取

最近学习python知识,刚好使用python写个例子获取一下乘风者计划的总阅读量


1.具体代码:

importrequests,json,sysimportpandasaspdimportnumpyasnpdefuse_pandas(data):
"""        使用pandas格式输出    """df=pd.DataFrame(data)
df=df.sort_values("pv")
sum_line=df.sum()
sum_line[:6] =np.nansum_line["createTime"] ="总计"df=df.append(sum_line,ignore_index=True).drop(['articleId','userId','uccId','showCreateTime','link'],axis=1).rename(columns={"title":"文章标题","pv":"浏览量","uv":"有效浏览量(ip)"})
print(df)
defuse_default(data):
"""        使用默认循环输出    """list= [{"pv":item['pv'],"uv":item['uv'],"title":item['title'],"status":item['status']['desc'],"time":item['createTime']} foritemindata]
list.sort(key=lambdax:x['pv'],reverse=True)
print_line(list)
defprint_line(data):
"""        默认方法下输出    """sum_pv=0sum_uv=0foriindata:
print(i["title"],i["pv"],i["uv"])
sum_pv+=i["pv"]
sum_uv+=i["uv"]
print("总计文章%d篇,总浏览量%d,实际浏览量(ip)%d"%(len(data),sum_pv,sum_uv))
definit_request():
"""        请求文章参数    """# urlurl="https://developer.aliyun.com/developer/api/my/article/listUserArticles"# 参数 查询50条,如果文章超过50可以调整pageSize更大params= {"pageNum":1,"pageSize":50}
# F12 找个请求抓一下cookieheaders= {"cookie":"cna=96urFwjx+GACASeilqd3n/R7; cps=zwYSodrSlqyGyCJI7u2gn2ebFjmv52Gp4fP3E0OUkWygO%2FVyx1gTM4B57P5xTQom; currentRegionId=cn-hangzhou; _ga=GA1.2.1090769455.1612852060; console_base_assets_version=3.28.2; aliyun_choice=CN; aliyun_lang=zh; UM_distinctid=17b28b596d46df-0f4132227e4ea4-4343363-1fa400-17b28b596d5e34; channel=d2Q0xQvU5P2I5QdQar%2FkoB8bJR34LNld96ejYso1kCk%3D; JSESSIONID=RFYJHYBV-ONVS8DOF3ZBET4ALSGTL3-8TBG37TK-MH324; maliyun_temporary_console0=1AbLByOMHeZe3G41KYd5Wf4QFzvM7jI4RWVTNJhwa5Fea5dBXFGA85maycwyW%2BBAe3JYA0hfH8R3v%2B0AolOGJxINHpbO4%2FoOQkxpozaqoVyfO7S4oYXQff4W1KUWIjI%2FaslfEhUXrEwbqP4tWO7nmQ%3D%3D; UC-XSRF-TOKEN=378a8120-c945-4225-8017-d7dd891cd8c6; _samesite_flag_=true; login_aliyunid_pk=1962712035129897; _hvn_login=6; login_aliyunid_ticket=DijB2uUHCKO2bsU9bgxuVgFRIxBof_BNpwU_TOTNChZBoeM1KJexdfb9zhYnsN5Zos6qISCrRt7mGxbigG2Cd4fWaCmBZHIzsgdZq64XXWQgyKFeuf0vpmV*s*CT58JlM_1t$w34x$TvGqKtPSlSDe4K0; login_aliyunid_luid=BG+D28Yw1O8deba817fa654d72d6835d63603e9a026+5hIJNaSTxH9ttNLvo0LUTIEzPEjtV6DsbDnZhP5w; login_aliyunid_csrf=_csrf_tk_1993530933875803; hssid=1HRiWsRr_mhsBO1tNMMnmZA1; hsite=6; aliyun_country=CN; aliyun_site=CN; login_aliyunid_abi=BG+2fCS7Siyf89dc556c87994764e280122632f5c3a+wMnKd+P+Pjmc22svOtXOd58srkX/luYMq6+Kzfr1cQpDFslOW3I=; login_aliyunid=%E5%BE%B7%E7%8E%9B%E8%A5%BF%E4%BA%9A%E6%89%80%E5%90%91%E6%8A%AB%E9%9D%A1; tfstk=cC4PBdXoeaQrru0CX4gFPZvnLlS5ZXFutElsqoLKYhV5mYoli7pKiHcsgXMOo0f..; l=eBP_xQDuOae7eMcUKOfwourza77OSIRAguPzaNbMiOCPOUXJ5e9GW63rVEtvCnGVh68kJ3SW3fIbBeYBqCYuqlAScqNvAHMmn; isg=BNfX4CVOehhmXMCFrWUKDa15ZkshHKt-XYfIfCkE86YNWPeaMOw7zpV2vvjGsIP2"}
session=requests.Session()
#请求withsessionassi:
r=si.get(url,params=params,headers=headers)
r.encoding="utf-8"text=json.loads(r.text)
iftext.get("code")=="40001":
print(r.text)
print("cookie失效,请重新抓包")
sys.exit(0)
s=text.get("data").get("list")
returnsif__name__=='__main__':
s=init_request()
# 默认方式use_default(s)
# pandas方式use_pandas(s)

2.环境

2.1需要先安装python3环境

2.2再安装requests包

pip3installrequests

使用pandas方式需要安装pandas包,并将代码中的 pandas 和 numpy相关注掉

pip3installpandas


2.3抓包:

登录阿里云后,F12随便找个请求找到RequestBody中的cookie,复制即可

image.png


3.运行 python 文件名.py

命令行使用时需要关闭代理,否则报错


4.效果:

image.png

命令行不太美观,还带是jupyter好看:

image.png

pandas:image.png

目录
相关文章
|
Web App开发 网络协议 测试技术
Python 自动刷博客浏览量
哈哈,今天的话题有点那什么了哈。咱们应该秉承学习技术的角度来看,那么就开始今天的话题吧。 思路来源 今天很偶然的一个机会,听到别人在谈论现在的“刷量”行为,于是就激发了我的好奇心。
1201 0
|
1天前
|
机器学习/深度学习 人工智能 数据可视化
Python比较适合哪些场景的编程?
Python比较适合哪些场景的编程?
14 7
|
6天前
|
数据挖掘 索引 Python
Python数据挖掘编程基础3
字典在数学上是一个映射,类似列表但使用自定义键而非数字索引,键在整个字典中必须唯一。可以通过直接赋值、`dict`函数或`dict.fromkeys`创建字典,并通过键访问元素。集合是一种不重复且无序的数据结构,可通过花括号或`set`函数创建,支持并集、交集、差集和对称差集等运算。
15 9
|
2天前
|
存储 数据处理 开发者
深入浅出:Python编程基础与实战技巧
【9月更文挑战第32天】本文将引导读者从零开始,掌握Python编程语言的核心概念,并通过实际代码示例深入理解。我们将逐步探索变量、数据结构、控制流、函数、类和异常处理等基本知识,并结合实用案例,如数据处理、文件操作和网络请求,提升编程技能。无论您是初学者还是有一定经验的开发者,这篇文章都能帮助您巩固基础,拓展视野。
|
1天前
|
大数据 Python
Python 高级编程:深入探索高级代码实践
本文深入探讨了Python的四大高级特性:装饰器、生成器、上下文管理器及并发与并行编程。通过装饰器,我们能够在不改动原函数的基础上增添功能;生成器允许按需生成值,优化处理大数据;上下文管理器确保资源被妥善管理和释放;多线程等技术则助力高效完成并发任务。本文通过具体代码实例详细解析这些特性的应用方法,帮助读者提升Python编程水平。
18 5
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程之旅:从基础到精通
【9月更文挑战第32天】本文将带你进入Python的世界,从基础语法到高级特性,再到实战项目,让你全面掌握Python编程技能。无论你是初学者还是有一定基础的开发者,都能在这篇文章中找到适合自己的学习路径和方法。让我们一起踏上Python编程之旅,开启一段充满挑战和乐趣的学习历程吧!
|
5天前
|
存储 开发者 Python
探索Python编程的奥秘
【9月更文挑战第29天】本文将带你走进Python的世界,通过深入浅出的方式,解析Python编程的基本概念和核心特性。我们将一起探讨变量、数据类型、控制结构、函数等基础知识,并通过实际代码示例,让你更好地理解和掌握Python编程。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到新的启示和收获。让我们一起探索Python编程的奥秘,开启编程之旅吧!
|
6天前
|
人工智能 小程序 API
文字转语音神器+Python编程搞定语音报时小程序
文字转语音神器+Python编程搞定语音报时小程序
11 2
|
6天前
|
Python
Python编程的循环结构小示例(二)
Python编程的循环结构小示例(二)
|
6天前
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
10 0
下一篇
无影云桌面