ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2561|回复: 2

[求助] PQ爬取的数据一直是第一页的重复,请教一下大家如何解决?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-7-27 11:25 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 TANGSHIDONG 于 2024-7-27 11:34 编辑

我想要爬取天天基金网某一基金的日净值数据,在知乎上搜到了用PQ的教程(https://zhuanlan.zhihu.com/p/351209623


函数是参考教程上的,但是我尝试调用函数查看第二页的数据,发现还是第一页的数据,我选择所需网页数据第二页,该网页的连接没有发生变化

请问大家这个该怎么修改函数或者还有其他解决办法?

所需数据

所需数据

调用第二页的结果

调用第二页的结果

函数

函数

TA的精华主题

TA的得分主题

发表于 2024-8-11 23:45 | 显示全部楼层
import requests
import time


def spider(page: int):
    headers = {
        "Referer": "https://fundf10.eastmoney.com/",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
    }
    url = "https://api.fund.eastmoney.com/f10/lsjz"
    params = {
        "fundCode": "004532",
        "pageIndex": str(page),
        "pageSize": "20",
        "startDate": "",
        "endDate": "",
        "_": str(int(time.time() * 1000))
    }
    response = requests.get(url, headers=headers, params=params)

    json_data = response.json()["Data"]["LSJZList"]
    print(f"当前采集的页数是: {page}{'*' * 200}")
    for data in json_data:
        print(data)


if __name__ == '__main__':
    for p in range(1, 89):
        spider(p)

TA的精华主题

TA的得分主题

发表于 2024-8-18 16:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
问题有两个,一是M函数那块写错了,Web.Concents函数的第一个参数应该是一个网址,教程里的这个网址是构造出来的,大致结构应该是“http……” & “page页码” & “其他”,&的作用是把前后连接起来组成一个网址,但是你的“”双引号放错位置了。
二是你理解错了,PQ之所以构造网址是因为每一页的表格在不同的网页上,即一个网址对应一个表格,但是我查了一下这个基金网的表格数据不是这样的,它的表格都在同一个网址下,可以试试点击“下一页”,观察浏览器网址栏,它是不变的。所以构造网址这一招就没用了。看似PQ用了很多网址,但是每次出现的表格都是默认的第一页。
另外你运气不错,这个网站忽略了某些字符(结尾的数字),所以构造的网址如https:……html1,https:……html2,https:……html3等等都能打开,不然由于第一条错误,正常来说第一页表格你也获取不到
这种情况PQ不好使了,用python吧。或者某些RPA软件,比如automate(微软出品,不太符合国人习惯)、影刀(国产的,比较符合国人习惯,个人用是免费的,比较喜欢这个)等等。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-25 15:58 , Processed in 0.027912 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表