目的:通过web获取url指定的内容,在定义1列url,不断的取出每个url的内容
首先在高级编辑器中,最上面添加一行:
(x)=>
然后将代码中第一行的 url 修改为变量 x ,写作:
x
源 = Web.BrowserContents(x),
其他都不动,修改完后,查询 dianping 变成了函数的图标,表示这是一个自定义函数,就可以在查询 web 中调用这个自定义函数。
dianping
web
假设在查询 web 中有一列字段名为 url ,那么只需要点击添加自定义列,输入:
url
= dianping([url])
即可批量抓取该列中每一个 url 的内容。
谢谢!
搬着小板凳,学习。
@Alex 请教一下 我要批量抓取以下网址数据该怎么办?日期从20180101到20181010,或任意日期到任意日期https://www.dszuqiu.com/diary/20181010
@ksbor 这个日期在 URL 里,还算是挺简单的吧,直接构建列表转换下就行了。
= Table.Combine(List.Transform({43101..43383},each Web.Page(Web.Contents("https://www.dszuqiu.com/diary/"&Date.ToText(Date.From(_),"yyyyMMdd"))){0}[Data]))
几百天的数据,一下子刷新可能有点慢,可以先缩小日期范围试试看。
@Alex {43101..43383} 这个我不太理解,能解释一下吗?为什么代表20180101至20181010
@ksbor 这不和 Excel 里一样的么?日期的本质就是数字,两者可以相互转换,1表示1900年1月1日,每多一天就加一,43101就是 2018年1月1日。
`单行代码`