ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请问web页面汇入找不到所需表格,要如何解決?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-31 10:24 | 显示全部楼层 |阅读模式
各位大大好,


想取得相关公司资料进行分析,并以Power BI定期自动更新,不想透过下载excel档的做法

但网页上的资讯不论点选那一個项目(如资产负债表),网址都是同一個,不知要用何方式才能將页面资料汇入Power BI內?

https://mopsfin.twse.com.tw/

2023-05-31_102118.png

TA的精华主题

TA的得分主题

发表于 2023-5-31 11:44 | 显示全部楼层
得分析这个网址,找到正确的URL

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-31 11:51 | 显示全部楼层
my0745 发表于 2023-5-31 11:44
得分析这个网址,找到正确的URL

要从那可以找到呢?

TA的精华主题

TA的得分主题

发表于 2023-5-31 13:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
POST爬虫我也是半吊子,抛砖引玉吧
  1. = let
  2.         url="https://mopsfin.twse.com.tw/compare/report",
  3.         headers=[#"Content-Type"="application/x-www-form-urlencoded; charset=UTF-8",Cookie="JSESSIONID=A1BF2BF00F6970DDC24401DF857E9C34; _ga=GA1.3.176109021.1685501204; _gid=GA1.3.1645889688.1685501204; companyId=000018&000020; _gali=setting-fin; _gat=1",Referer="https://mopsfin.twse.com.tw/"],
  4.         content="compareItem=BalanceSheet&quarter=true&ylabel=&ys=0&revenue=true&bcodeAvg=true&companyAvg=true&qnumber=&companyId=000018+%E6%9D%B1%E4%BA%9E%E8%AD%89%E5%88%B8+(%E5%85%AC%E7%99%BC%E8%AD%89%E5%88%B8)&companyId=000020+%E9%81%A0%E6%99%BA%E8%AD%89%E5%88%B8+(%E5%85%AC%E7%99%BC%E8%AD%89%E5%88%B8)",
  5.         web=Text.FromBinary(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)]))
  6. in
  7.         Web.Page(web)
复制代码


TA的精华主题

TA的得分主题

发表于 2023-5-31 14:38 | 显示全部楼层
360浏览器,右键,审查元素
谷歌浏览器,右键,检查

找到网络,然后刷新页面,去里面找找吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-31 20:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
flashevil 发表于 2023-5-31 13:55
POST爬虫我也是半吊子,抛砖引玉吧

谢谢您的拋砖引玉..汇入Power BI的结果如下:

不知为何科目与数字未对应到呢?是否有其他方法
2023-05-31_202236.jpg
2023-05-31_202307.jpg

TA的精华主题

TA的得分主题

发表于 2023-6-1 08:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chou680702 发表于 2023-5-31 20:25
谢谢您的拋砖引玉..汇入Power BI的结果如下:

不知为何科目与数字未对应到呢?是否有其他方法

科目 和具体数据 网页源代码就是分开的。只能自己通过清洗横向拼接一下了。
另外,headers 里的cookies 和 Referer 两个参数可以直接删掉,画蛇添足了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-1 08:52 | 显示全部楼层
flashevil 发表于 2023-6-1 08:25
科目 和具体数据 网页源代码就是分开的。只能自己通过清洗横向拼接一下了。
另外,headers 里的cookies  ...

资料清洗都是针对整列的,是否有做法建议?

TA的精华主题

TA的得分主题

发表于 2023-6-1 10:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
chou680702 发表于 2023-6-1 08:52
资料清洗都是针对整列的,是否有做法建议?
  1. let
  2.         url="https://mopsfin.twse.com.tw/compare/report",
  3.         headers=[#"Content-Type"="application/x-www-form-urlencoded; charset=UTF-8"],
  4.         content="compareItem=BalanceSheet&quarter=true&ylabel=&ys=0&revenue=true&bcodeAvg=true&companyAvg=true&qnumber=&companyId=000018+%E6%9D%B1%E4%BA%9E%E8%AD%89%E5%88%B8+(%E5%85%AC%E7%99%BC%E8%AD%89%E5%88%B8)&companyId=000020+%E9%81%A0%E6%99%BA%E8%AD%89%E5%88%B8+(%E5%85%AC%E7%99%BC%E8%AD%89%E5%88%B8)",
  5.         web=Text.FromBinary(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)])),
  6.         源=Web.Page(web),
  7.         自定义1 = Table.FromColumns (Table.ToColumns(Table.FirstN (源,2)[Data]{0})&Table.ToColumns(Table.FirstN (源,2)[Data]{1}))
  8. in
  9.     自定义1
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-6-2 06:24 | 显示全部楼层

非常感谢!关于上述代码的用法,是否有更好之理解方式呢?尤其是这部份

web=Text.FromBinary(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)])),
        源=Web.Page(web),
        自定义1 = Table.FromColumns (Table.ToColumns(Table.FirstN (源,2)[Data]{0})&Table.ToColumns(Table.FirstN (源,2)[Data]{1}))
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 20:54 , Processed in 0.041633 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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