ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 大神请指教 网页查词,多处取文本,

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-3-14 15:47 | 显示全部楼层 |阅读模式
大神请指教,
我是PQ小白,昨天才知道有这个工具......嫑嘲笑我......
我现在的需求是 在某度查询很多很多,122的词语,返回值需要拼音和解释 2个部分。
我现在能取分别取拼音和解释,建了参数,但是不知道怎么用,122个词语已经编码,url也生成了。
哪位大神能帮我看看这个参数怎么调呢?谢谢,谢谢,谢谢!

四下查词.zip

27.98 KB, 下载次数: 12

四下查词

TA的精华主题

TA的得分主题

发表于 2019-3-14 20:30 | 显示全部楼层
let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

    webcrawl=(word as text)=>
    Record.SelectFields([url="https://hanyu.baidu.com/s?wd=" &Uri.EscapeDataString(word)&"&ptype=zici",
    web=Text.FromBinary(Web.Contents(url)),data=Text.Split(Text.Split(web,"<dt class=""pinyin"">[ "){1},"</p>"){0},
    py=try Text.Split(data," ]</dt>"){0} otherwise null,wd= try Text.Split(Text.Split(data,"<p>#(lf)"){1},"#(lf)"){0} otherwise null],{"py","wd"}),

    webcrawlup=Function.ScalarVector(type function(col as text) as text,(Inputtable)=>
    [BufferTable = Table.Buffer(Inputtable),InputList = BufferTable[col],func =List.Transform(InputList,each webcrawl(_))][func]),

    tb= Table.AddColumn(源, "数据", each webcrawlup([词语])),
    dt = Table.ExpandRecordColumn(tb, "数据", {"py", "wd"}, {"数据.py", "数据.wd"})
in
    dt

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-14 20:32 | 显示全部楼层
........ 四下查词.zip (33.05 KB, 下载次数: 11)

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-15 10:36 | 显示全部楼层
太谢谢大神了,昨天坐地铁回家,看了一路的手册,而且不瞒大神,昨天白天就是照着你的一个帖子学习的,可惜,太小白了我。
谢谢大神,继续学习了

TA的精华主题

TA的得分主题

发表于 2019-3-15 11:20 | 显示全部楼层
本帖最后由 飞天篮球猪 于 2019-3-15 11:34 编辑

大佬,能提速吗?
那个标量函数ScarlarVector除了实现row by row的效果,在效率上貌似并无助益。可以直接在Table.AddColumn里写Function.ScalarVector,供参考:
  1. = Table.AddColumn(源, "数据", Function.ScalarVector(Value.Type(each _),each List.Transform(源[词语],(x)=>webcrawl(x))))
复制代码



TA的精华主题

TA的得分主题

发表于 2019-3-15 13:18 | 显示全部楼层
飞天篮球猪 发表于 2019-3-15 11:20
大佬,能提速吗?
那个标量函数ScarlarVector除了实现row by row的效果,在效率上貌似并无助益。可以直 ...

我要26秒,你用我的例子刷新要多久时间?

TA的精华主题

TA的得分主题

发表于 2019-3-15 14:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
fxl447098457 发表于 2019-3-15 13:18
我要26秒,你用我的例子刷新要多久时间?

30s,才122行。12万行30s能接受。这个速度更网页响应时间有没有关系?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-25 08:58 , Processed in 0.038015 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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