首页 > 编程语言 ># yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例

时间:2023-12-27 13:32:49浏览次数:38  
标签:yyds f3 headers Python 代码 get df 盘点 url

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【哎呦喂  是豆子~】问了一个Python网络爬虫问题,一起来看看吧。问题描述:

大佬们 这个13位数字怎么构造呀   找不到规律  试了在第一页的url基础上加数字也是不行

1、网站链接:http://quote.eastmoney.com/center/gridlist.html#fund_etf

2、需求:获取ETF基金数据(代码、名称这2列数据)

3、带push字眼的链接存放ETF基金数据(代码、名称这2列数据),但是链接有2个变动的数据,一个是页码,一个是最后的13位数字 带push字眼的链接样例:http://85.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124030358799609457776_1703062450956&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&wbp2u=|0|0|0|web&fid=f3&fs=b:MK0021,b:MK0022,b:MK0023,b:MK0024&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1703062450958

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python爬虫

二、实现过程

这里【吴超建】给了一个指导:

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python网络爬虫_02

这里她给了自己的代码,指定url的数据获取(可获取),如下:

import requests,json
import pandas as pd

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0'}
url = 'http://89.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112406545446716331029_1703061927055&pn=3&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&wbp2u=|0|0|0|web&fid=f3&fs=b:MK0021,b:MK0022,b:MK0023,b:MK0024&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1703061927065'
resp = requests.get(url,headers = headers,timeout =10).text
table = resp.replace('jQuery112406545446716331029_1703061927055(','').replace(')','').replace(';','')
dict_data = json.loads(table)
df = pd.json_normalize(data = dict_data['data']['diff'])
df[['f12','f14']]

但是抓取多页的数据(不成功),代码如下:

number = []
i = 0
n = 44
j = 1703054636319
while i < n:
    j += 5
    number.append(j)
    i += 1
df_all = []
for i,j in zip (range(1,45),number):
    url = f'http://85.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124030358799609457776_1703062450956&pn={i}&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&wbp2u=|0|0|0|web&fid=f3&fs=b:MK0021,b:MK0022,b:MK0023,b:MK0024&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_={j}'
    resp = requests.get(url,headers = headers,timeout =10).text
    table = resp.replace('jQuery112404551488490763843_1703043849281(','').replace(')','').replace(';','')
    df = pd.json_normalize(data = dict_data['data']['diff'])
    df_1 = df[['f12','f14']]
    df_all.append(df_1)
all_table = pd.concat(df_all)

后来【猫药师Kelly】指出:你们想复杂了,豆子要的数据在第一页就全部给出了。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python应用_03

代码运行之后,结果如下:

url = "http://55.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112402201018241113597_1703065790029&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&wbp2u=|0|0|0|web&fid=f3&fs=b:MK0021,b:MK0022,b:MK0023,b:MK0024&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1703065790075"

headers = {
    'Referer': 'http://quote.eastmoney.com/center/gridlist.html',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
}

proxies = {'http': '','https': ''}

res = requests.get(url, headers=headers, proxies=proxies)

顺利地解决了粉丝的问题。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python网络爬虫_04

文章的最后,给大家分享一个Python网络爬虫数据采集利器。

注册 官网注册地址:https://get.brightdata.com/wxdtkgpzhtj8,注册即可用。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_数据_05

之后有个邮箱验证,自行验证一下即可完成注册。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python爬虫_06

注册完成后,会有对应的欢迎指引,如下图所示:

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python网络爬虫_07

可以看到下图数据集和网络爬虫IDE。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python网络爬虫_08

这里还有一些官网给出的知名网站数据集,可以自行取用。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_网络爬虫_09

示例数据:

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_数据_10

亮数据还提供了 web 端的 IDE 工具,并提供了相关的示例代码,你可以直接使用模板和对应的代码!也可以自己自定义爬虫,根据自己的需求创建代码。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_数据_11

输入相关的规则后,即可在线跑代码:

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_数据_12

无论你是需要大规模收集数据,还是需要突破网站封锁,或者是需要管理你的爬虫代理网络,我亲测觉得亮数据的质量的确很不错,现在用我的连结有免费试用,点击阅读原文去试试吧!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Pandas数据处理问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【哎呦喂  是豆子~】提出的问题,感谢【猫药师Kelly】、【吴超建】给出的思路,感谢【莫生气】、【冫马讠成】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # 盘点一个基金数据的Python网络爬虫案例_Python爬虫_13


标签:yyds,f3,headers,Python,代码,get,df,盘点,url
From: https://blog.51cto.com/u_13389043/8998806

相关文章

  • python之日志logging
    转载:https://blog.csdn.net/weixin_43790276/article/details/101944628 logging模块是Python内置的标准模块,用于输出代码日志。一、logging模块简介在工作中,运行的代码量是非常大的,为了更方便的管理代码运行,监控代码运行的过程,需要在代码中添加一些必要的日志输出。Py......
  • 【python爬虫课程设计】大数据分析———不同车辆类型不同零件的城市道路油耗、高速公
    一、选题背景随着社会经济的发展和人们生活水平的提高,汽车已经成为现代化生活中不可或缺的交通工具之一。同时,环保意识的提高也给汽车产业带来了新的挑战,例如减少汽车的油耗和减少尾气排放。在这样的背景下,通过分析不同车辆类型的城市道路油耗、高速公路油耗和二氧化碳排放量数......
  • AI人工智能中的数学基础原理与Python实战:深度学习框架与数学基础
    1.背景介绍人工智能(ArtificialIntelligence,AI)和深度学习(DeepLearning,DL)是当今最热门的技术领域之一。它们在图像识别、自然语言处理、语音识别等方面的应用表现卓越,为人类提供了无尽的便利。然而,为了更好地理解和应用这些技术,我们需要掌握其数学基础原理。在本文中,我们将探讨......
  • AI人工智能中的数学基础原理与Python实战:强化学习与决策过程
    1.背景介绍人工智能(ArtificialIntelligence,AI)和机器学习(MachineLearning,ML)是现代科学和技术领域的热门话题。随着数据量的增加,计算能力的提升以及算法的创新,人工智能技术在各个领域的应用也逐渐成为可能。强化学习(ReinforcementLearning,RL)是一种人工智能技术,它旨在让计算......
  • Python+Appium自动化测试-元素定位工具
    三种定位工具:UiAutomatorViewerAndroidSDK自带工具location:AndroidSDK安装目录/tools也可以去github下载standalone版本注意:截屏时,当前模拟器不能被其他程序占用,比如在截屏时Weditor也连接了终端AppiumDesktopInspectorAppiumServer自带工具下载地址:https://github......
  • Python+Appium自动化测试环境搭建
    安装JDK并配置环境变量JAVA_HOMEPath验证命令:返回版本号说明配置成功java-version安装AndroidSdk并配置环境变量AndroidSDKTool下载地址:https://www.androiddevtools.cn详细完整版安装步骤:https://blog.csdn.net/qq877728715/article/details/133940938安......
  • python数据核对具体怎么做
    python数据核对思路:点击查看代码defautocheck(io_form,io_form2,io_to):importpandaaspddf_1=pd.read_excel(io_form)df_2=pd.read_excel(io_form2)result=pd.merge(df_1,df_2,on="姓名",how="outer",suffixes=('_1','_2&#......
  • 博客园 OpenAPI 调用记录(Python)
    目录申请OpenAPIOpenAPI调用申请OpenAPIhttps://oauth.cnblogs.com通过后,你将得到ClientId和ClientSecretOpenAPI调用接口文档:https://api.cnblogs.com/Help请求示例:Client_Credentials授权importrequestsimportjsonfromurllibimportparseClientId='......
  • 【Python爬虫课程设计】--二手房数据爬取+数据分析
    一、选题课程背景在当前的房地产市场中,二手房交易一直是一个备受关注的话题。通过对二手房市场的数据进行分析可以帮助我们了解房地产市场的发展趋势、价格变动、供需关系等重要信息。这种数据分析能够为政府制定相关政策、投资者做出决策、购房者选择合适房产等提供有价值的参考......
  • Python网络爬虫课程设计------亚马逊产品数据分析
    一、选题背景    随着电子商务在全球范围内的普及和扩展,亚马逊作为全球最大的电商平台之一,吸引了数百万的卖家和消费者。这使得对亚马逊平台上的产品进行数据分析变得至关重要。在亚马逊上,产品种类繁多,竞争激烈。为了在众多竞争对手中脱颖而出,需要对市场趋势、消费者需求......