1、首先要获取到对方网址的所有内容,可能你会想到用file_gets_contents来获取,但此函数不适合用于获取远程文件,用于打开本地txt文件还是蛮好用的。那么用什么来获取呢?Curl,这个php的扩展来处理。下面就是一个简单的获取网页内容的基本配置,更多参数配置可以到网上去搜。
【建设网站建设】 网站创建公司哪家好
2、在采集网页匹配数据时,特别是在列表页,可以先把获取到的对方所有的空格换行等html标签去掉,写起正则来就会容易很多。这里提供一个函数:
【网站建设公司哪家好】
3、在获取到对方的数据的时候就要开始正则匹配了,这里介绍几个常有的匹配规则:
专业办理网站制作
一个是任意字符(.*?),另一个是([\s\S]*?)表示包括换行符的任意字符,在匹配过程中够用了。然后选择匹配模式i即可。
4、介绍一下采集的思路,可以先把符合页面的数据下载下来保存为txt文件,再来本地处理就【企业网站制作公司】更快一些。还有就是为了避免频繁访问对方网站或数据丢失状态可以加一个while(){}循环或是sleep()暂停几秒来处理。把相关的数据库处理函数要封装好,直接调用。
5、还有一个重要的事情,很多人可能会忽略,就是页面的编码问题,如果对方网站是gbk的编码,则相应的php文件或是用于提交条件的html文件也会是gbk的编码。但是这会存在一个问题,就是发生在gbk的html向gbk的php页面提交中文数据的时候,gbk的php文件可能就不会给你反应,如果你用这些中文数据去匹配的时候会遇到问题。于是要转变思路,utf-8是更好的编码模式,所以我们要采用utf-8的编码,而对方的又是gbk的,如何做呢?
$allcontent=iconv('gbk', 营销型网站建站【营销网站开发】'utf-8',removetag(curl_exec($ch)));
上面的这样转换就ok了!所有的都用utf-8
本文作者:网络王国梁
上市公司网站制作公司哪家好 多用户网站建设
请立即点击咨询我们或拨打咨询热线: 13968746378,我们会详细为你一一解答你心中的疑难。项目经理在线