微信公众平台消息接口开发(4)
最近在微博上很流行“华师图书馆”这个微信应用,就是你发关键字过去,然后就会返回与关键字相关的图书信息。
其实原理很简单,通过关键字去华师的图书馆的网站去查询,然后将返回的数据(Html)进行解析即可。
其实获取某个网站的某些信息,最常用的手段就两种,一种就像天气宝宝那种,有API,通过调用API获取所需要的信息,另外一种便是通过访问相关网页,将其返回的信息解析,得到我们所需要的,“华师图书馆”这个应用便是这种。
好久没上过南中国一般大学的图书馆的网站了,上去看看,还是很烂。
南中国一般大学图书馆的网址是:http://lib.scnu.edu.cn/ ,输入关键字搜索,我输入android,它会跳到以下这个网址:
发现没,title=android,将这个android换成其他字或词试试,原来搜索就通过这样的一条URL,title=输入的关键字。
使用谷歌浏览器,点击F12,如下:
html的解析,使用php来解析哥还是第一次用,发现Simple HTML DOM这个挺好用的。
可以了解下:http://www.ecartchina.com/php-simple-html-dom/manual.htm
实现解析的代码很少,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php require_once 'simple_html_dom.php' ; function getLibrary( $keyword ) { $html = file_get_html( "http://202.116.41.246:8080/opac/openlink.php?sort=M_TITLE&orderby=ASC&title=" . $keyword . "android&match_flag=forward&showmode=list" ); foreach ( $html ->find( 'div[id=list_books]' ) as $element ){ foreach ( $element ->find( 'h3' ) as $h3 ){ foreach ( $h3 ->find( 'a' ) as $a ){ echo $a ->innertext. '    ' . $a ->href. '<br>' ; } } } } ?> |
调用这个方法,输出如下:
前面的是书名,后面是url的一部分,完整的url是http://202.116.41.246:8080/opac/item.php?marc_no=1000236034
只要修改下方法,便可接入到微信公众平台了。