PHP提取页面标签与链接

使用PHP访问页面使用cURL,然后通过对获取的数据处理得到需要的内容。以http://www.hubu.edu.cn/Html/list.aspx?id=1网页为例,提取中间的新闻及相关信息。以前使用C++写过爬虫,但因为页面编码问题,导致后来对数据处理并没做好,但是PHP的编码转换要更好用,所以比C++会更简单。

	$list=curl_init();
	$url=curl_setopt($list, CURLOPT_URL , "http://www.hubu.edu.cn/Html/list.aspx?id=1");
	curl_setopt($list, CURLOPT_RETURNTRANSFER , 1);
	$result=curl_exec($list);
	$fp=fopen("listFile.txt", "w");
	$result = iconv("GBK", "UTF-8", $result);
	fwrite($fp, $result);
	fclose($fp);
首先通过cURL访问该网页,curl_setopt($list, CURLOPT_RETURNTRANSFER , 1);语句将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。 这样$result就保存了该页面的数据,用iconv函数将编码从GBK转化成UTF-8,再写入listFile.txt文件中(不写入文件也可,这里写入只是方便后面分析)。

	//初步过滤,过滤文件保存在filter.txt
	$back = stristr($result,"新闻内容部分");
	$back = stristr($back,"尾页",true);
	$back = strip_tags($back,'<a>'); 
	$back = stristr($back,"条记录",true);
	$back = stristr($back,"<a");
	$replaceList[0] = ' ';
	$replaceList[1] = 'target="_blank"';
	$back = str_replace($replaceList, '', $back);
	$fp=fopen("filter.txt", "w");
	fwrite($fp, $back);
	fclose($fp)
通过分析listFile.txt文件如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值