MATLAB中实现网页访问功能--urlread()函数
偶尔在网上看到matlab中怎么访问网页这个话题,在百度里搜了一下,这方面的回答比较少。所以就想研究一下到底是怎么个回事。下面把实现过程记录如下。
在实现怎么访问网页之前,先来解决一个问题。就是怎么使得网页中的中文不以乱码的形式出现在显示器上?老外的东西,就是麻烦,总是要解决类似的以为语言的不同所带来的问题。我使用的是MATLABR2008a版本的,其实都大同小异,具体情况具体分析。
因此,我们需要修改matlab中的urlread()函数,因为在matlab中是使用urlread()函数来解析网站的内容的。我们需要在urlread()函数中增加一个参数来解决访问中文网站显示乱码的问题。
然后使用regexp()正则函数对访问的网站信息进行匹配提取。
下面给出具体的修改步骤:
1、在matlab中输入命令行edit urlread 打开urlread.m文件。我们需要对该文件进行修改。
2、了解该文件的参数情况:
%下面以提取百度文库文档列表名称为例clcclear allU=urlread('http://wenku.baidu.com/edu/index','get','','GBK'); %此函数修改过,解决访问网页中文乱码问题%修改方法参照http://s020700640.blog.hexun.com/81301584_d.htmlexpr1 = '/view/'; %获取下载链接num= regexp(U, expr1,'end');%正则函数num(26)=num(25)+500;for i=1:length(num)-1 b=U(num(i):num(i+1)); expr2 = 'title="'; %获取下载链接 num1= regexp(b, expr2,'end');%正则函数 expr3 = '>'; %获取下载链接 num2= regexp(b, expr3,'end');%正则函数 b(num1(1)+1:num2(1)-1)end