戳蓝字“Excel星球”关注我哦。
HI,大家好,我是星光。 很久以前,给大家分享了一段VBA代码,抓取当当网图书数据的: VBA这家伙最大的特点就是傻白甜;代码臃肿啰嗦,没啥技巧,是为傻;不过确实又能解决很多实际问题,所以又很甜——打个响指,那么有没有不写代码,又能抓取网页数据的方法呢? 当然是——有的。 走,去隔壁PBID见见新场面去。
PBID是Power BI DeskTop的简称,俗称Power BI桌面版。不过它不是Office软件自带的,需要另外单独下载。 在微软应用商店,安装该软件后打开,在【主页】选项卡下,依次点击【获取数据】→【从Web】。
输入以下网址:
网址看不全可以左右拖动... http://search.dangdang.com/?key=excel%20home&act=input
这个是当当网搜索关键字'excel home'的网址,可以获取关于EH论坛系列图书的数据。 在【导航器】窗格右侧的【建议的表】选项中,选择【表1】,再单击【转换数据】即可获取图书的名称、折扣价、原价、评论数量、折扣等数据。
摊手,就这么简单。
正所谓尚未佩妥剑,出门就是江湖,但转眼便……胜了! ……
…… 以为这事就这么完了? 当然不。 这属于比较愣的用法,更强大更有趣的在后面。 我换个例子,获取豆瓣电影TOP250的数据。 还是在【主页】选项卡下依次点击【获取数据】→【从Web】,输入网址: 网址看不全可以左右拖动... https://movie.douban.com/top250
点击【确定】按钮后,来到【导航器】界面。此时不选择表1,选择【使用示例添加表】。
然后会看到以下界面:
图片的上半身是网页数据预览。下半身是张表格,目前是空白的。 在下方表格列输入所需要的数据,系统就会根据该数据智能提取相关类的结果……比如序号、名称、评分、网址等。你看这家伙是不是特像Excel里智能填充Ctrl+E?百里守约:给我一个目标还你一片寂静👆 最后点击【确定】按钮,将数据转换到Power Query编辑器继续整理或者直接加载到数据模型中即可。 摊手,不过需要说明的是,系统是自动抓取的第一页的数据,一共25条信息,而豆瓣电影TOP250一共有10页。如果你需要抓取10页的数据,可以将系统自动生成的一页式代码封装成自定义函数,再外套一条M函数的循环语句。let fx=(i as number)=> let 源 = Web.BrowserContents('https://movie.douban.com/top250?start=' & Text.From(i)) in Html.Table(源, {{'序号', 'EM'}, {'名称', '.title:nth-child(1)'}, {'评分', '.rating_num'}, {'评价', 'SPAN:nth-child(3) + *'}}, [RowSelector='.grid-16-8 LI']), 结果 =Table.Combine(List.Transform({0..10},each fx(_*25))) in 结果
相比于VBA烦琐臃肿的上百行代码,这代码简直不要太苗条,绝对是从贾玲同志跳过了陈妍希二小姐直达李若彤仙女姐姐的飞越式发展……~ ……
没了,今天给大家分享的内容就这样,只看不练假把式,你也动手试一下吧。 👀
|