东方财富龙虎榜数据爬取requests

本文介绍了如何使用Python的requests库爬取东方财富网站的龙虎榜数据。通过观察网页网络请求,发现数据随页面变化,通过修改页面参数实现多页数据抓取。利用正则表达式处理抓取到的字符串,提取所需信息,最终将数据整理为DataFrame。文中还列举了常用的正则表达式函数,如match、search、findall等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先用开发者工具观察:

按F12,取观察翻页时候数据的变化:

 在network中查看到,共3页,每页50行数据,然后去获取需要发送请求数据:

 只需要改变页面数字,就可以获取到不同页面的数据,代码如下:

url = 'http://datacenter-web.eastmoney.com/api/data/v1/get?'
for page in range(1, 4):
    params = (
        ('callback', 'jQuery112305930880286224138_1632364981303'),
        ('sortColumns', 'NET_BUY_AMT,TRADE_DATE,SECURITY_CODE'),
        ('sortTypes', '-1,-1,1'),
        ('pageSize', '50'),
        ('pageNumber', str(page)),
        ('reportName', 'RPT_ORGANIZATION_TRADE_DETAILS'),
        ('columns', 'ALL'),
        ('source', 'WEB'),
        ('clientl', 'WE'),
        ('filter', "(TRADE_DATE>='2021-09-17')")
    )
    response = requests.get(url, params=params)
    text = response.text
    print(text)

得到的数据是一串带有脏数据的字符串:

Python中,你可以使用requests库来爬取东方财富网(http://www.eastmoney.com)的股票数据requests是一个非常流行的HTTP客户端库,它允许我们发送HTTP请求并获取响应。以下是一个简单的步骤指南: 1. 首先,确保已安装了requests库。如果没有,可以使用pip安装: ``` pip install requests ``` 2. 使用requests库的`get`函数来发送GET请求到东方财富网的股票数据API。通常这类网站的数据会被组织成JSON格式,所以我们会期望返回的是JSON数据。例如,我们可以尝试获取某个股票的基本信息,如股票代码(sz000001): ```python import requests url = "http://push2his.eastmoney.com/api/qt/stock/kline/get?secid=sz000001&fields=kl_OPEN,kl_HIGH,kl_LOW,kl_CLOSE,kl_VOL,kl_PREVCLOSE,kl_DATE&klt=1 day&fqt=0&beg=20230101&end=20230131" # 发送请求 response = requests.get(url) ``` 3. 调用`response.json()`来解析返回的JSON数据,提取你需要的信息: ```python data = response.json() if response.status_code == 200: stock_data = data['data']['kl'] for item in stock_data: open_price = item['kl_OPEN'] high_price = item['kl_HIGH'] ... # 提取其他字段并处理数据 else: print("请求失败,状态码:", response.status_code) ``` 注意,实际操作时可能需要处理反爬虫策略,比如设置User-Agent、cookies或使用代理等。并且,某些网站可能会有严格的访问限制,频繁抓取可能违反其服务条款,因此在编写爬虫时务必遵守相关规定。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值