#星座分析团#
头条活动星座分析团,我们找个星座分析的网站试试,看看能不能抓数据。
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e60b772d.jpg)
就这个吧,图片看起来萌萌的。
网站分析网站防护做的好啊,没有办法看到数据,只能从网址分析入手了。
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e616289e.jpg)
一般来说,网站可以通过一些查询参数,来实现查询的,我们就编写查询函数来抓数据,有些网站做了url静态化,我们可以直接根据显示出来的静态url来抓。
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e620976d.jpg)
这种抓取是最简单的,但是又最麻烦,因为要看html代码,从代码中找到要的数据。
上面的图片中提供了各个星座的url,还有对应运程查询。我们要做的就是把上面的两段代码复制出来,做好抓取准备,提取出星座url和运程url。
像这样的内容:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e62a2a08.jpg)
以及:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e6371a8d.jpg)
这个过程就是最基本的文本处理,首先用Web.BrowserContents函数读取html文本,然后拆分出我们要的那段代码,可以用Text.Split函数。也可以直接到html文本中复制粘贴需要的代码段。
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e63d0a0d.jpg)
Power Query就这点比较好,可视化操作,为了后面能够自动刷新数据,我们也要区分,这个数据是不是常量,如果是常量,我们复制粘贴就没问题,如果会变化,那就最好用从源头开始就用函数与公式,保证刷新数据时不会出现问题。
我们就是要一些文本,所以直接用html表格就可以。
Html.Table(Web.BrowserContents([url]&[u1]), {{"Column1", ".c_cont STRONG"}, {"Column2", ".c_cont SPAN"}}, [RowSelector="P"])
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e643dacd.jpg)
都不需要定义函数,直接添加列就可以抓取。
抓取经过上面的分析,我们直接用自定义列抓取数据:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e64f3e74.jpg)
你会说这个Html.Table函数的参数不会写,其实我也不会,这个没关系,可以试抓一页,让向导自动生成,然后我们复制过来就好了:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e65beea8.jpg)
然后看代码:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e6648926.jpg)
我们把前两行整合到一行就可以了。
最后我们看抓好的数据:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e66de716.jpg)
同样的道理,我们可以试着抓明日运程,一周运程等等,就不做演示了。
最后还是做个可视化图形看看:
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e673c647.jpg)
![明日运程免费测试 明日运程免费测试](https://bazibang.com/zb_users/upload/printer/20220331/62455e678b512.jpg)