小兔网

之前我们曾经分享一个神奇的公式,可以直接Excel表格中进行英汉互译。


20210614105249976610

公式

=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&B2&"&doctype=xml&version"),"//translation") 


很多朋友很奇怪,这到底是怎么做到的呢?其实这是WEBSERVICE函数的功劳:它可以直接从web服务器返回数据。通俗点说就是从网络抓取数据。


202106141052503547842


下面再分享一个超实用的示例:根据手机号码查归属地


202106141052514753494


在https://shouji.51240.com/上输入手机号码就可以查出归属地


202106141052525942946


要批量查,首先我们需要把手机号码代入到网址中


202106141052537146158


接下来用WEBSERVICE函数从该网址中返回查询数据(返回的是网页代码),有1万多字符。


=WEBSERVICE(B2)


2021061410525497430510


把它复制粘贴到text文件中,万千数据,我们只要这一行:


2021061410525651098512

接下来直接用mid+find截取


=MID(WEBSERVICE(B2),FIND("title",WEBSERVICE(B2))+18,11)


202106141052585179814


最后用substitute替换掉多余的字符


=SUBSTITUTE(SUBSTITUTE(MID(WEBSERVICE(B2),FIND("title",WEBSERVICE(B2))+18,11),"-",""),"手机","")


2021061410525944784816


其实 FILTERXMLWEBSERVICE是一对超强大的网络函数, 二者配合可以实现很多高难度的网络数据抓取。WEBSERVICE负责提取源数据,FILTERXML负取从源代码中返回指定位置数据。今天的示例比较简单,所以只用后者即可。