1 具体步骤

①使用file_get_contents()函数获取url的内容。

②浏览要采集的网页的源代码,找出要提取元素的物理位置。一定要仔细分析,找准位置。

③写正则表达式,将要匹配的img元素的src部分给提取出来。正则表达式的准确性我个人感觉是最最重要的。

④使用preg_match_all()函数,其中要写上参数$matches,从它里面我们可以拿图片的地址(src)。关于这个函数的使用,一定要熟悉。

⑤我们提取的知识图片的链接地址,若要向在网页上显示图片的话,还需要给这个地址套上一个的标签,再使用echo()函数输出即可。好了,大功告成。

下面是我自己写的一个采集携程网的例子。

$url= "http://hotels.ctrip.com/hotel/guangzhou32/star3";
$fcontent= file_get_contents( $url);
$pattern="/";   
}

2 preg_match_all()函数的使用

具体的情况可以查看php手册,这里我主要讲一下$matches之后的那个参数。

PREG_SET_ORDER选项:

1 $matches成为一个2维数组,

[0]关于第一次匹配上的记录信息,$matches[0][0]为匹配的全部字符串,然后才是$matches[0][1]$matches[0][2]$matches[0][3]一次分别为各部分匹配的子记录

[1]就是第二次匹配上的记录信息,$matches[1[0]为匹配的全部字符串,然后才是$matches[1][1]$matches[1][2]$matches[1][3]一次分别为各部分匹配的子记录

[2]以此类推

PREG_PATTERN_ORDER选项(默认):

结果排序为$matches[0]保存了完整模式的所有匹配,$matches[1]保存了第一个子组的所有匹配,一次类推。

关于子组的数目,通过程序调试发现,应该与(正则表达式)是一一对应的。每多增加一个带括号的正则表达式,$matches就会多一个分组。