如何通过PHP进行网站数据采集?
随着信息时代的到来,现在大部分人获取的信息都来自互联网,如果对自己有用的数据使用传统的复制粘贴,效率会极其低下。如何才能快速的完成批量采集工作呢?下面我们就聊一聊关于PHP采集的一些事!
采集就是使用file_get_contents函数和正则的使用。
先贴上一段代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?php
$file=file_get_contents("http://nitnews.nyist.net/list_59.html");
$preg1="#<LI><A title=(.*) href=\"(.*)\" target=_blank>(.*)</A><SPAN> (.*)</SPAN> </LI>#iUs";
preg_match_all($preg1,$file,$arr);
//print_r($arr);exit();
foreach($arr[1] as $id=>$val)
{
//echo "<a href=\"http://nitnews.nyist.net/".$arr[2][$id]."\">".$val."</a><br />";
echo "<a href=\"content.php?url="."http://nitnews.nyist.net/".$arr[2][$id]."\">".$val."</a><br />";
}
?>
</body>
</html>
[/php]
[php]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?php
function GetInfo($preg,$con,$num=1)
{
preg_match($preg,$con,$arr);
$arr[$num]=str_replace("src=\"/upFile/","src=\"http://nitnews.nyist.net/upFile/",$arr[$num]);
return $arr[$num];
}
$url=$_GET[‘url’];
$content=file_get_contents($url);
$pr="@<H1>(.*)</H1>@iUs";
echo "文章标题是:".GetInfo($pr,$content);
$con="#<!–正文内容开始–>(.*)<!–正文内容结束–>#iUs";
echo "文章内容是:".GetInfo($con,$content);
?>
</body>
</html>
这个是我读取我们某学校新闻网的一个采集程序,其中原理很简单,如果需要存入数据库~~~那个就简单了,只用在显示的地方写存入数据库代码即可~
要点:空格和标点都不能少!如果没有采集到那么请检查你的匹配规则。
附:采集很简单,要理解它的原理就可以了~~以后再批量发布信息就不怕了~
相关内容
这些是最新的
热门排行
- THINKPHP5+GatewayWorker+Workerman 开发在线客服系统
- 在手机浏览器网页中点击链接跳转到微信界面的方法
- 尊云网站目录系统 ThinkPHP5网站分类目录程序 v2.2.221011
- CentOS 7安装shadowsock(一键安装脚本)
- AdminTemplate 基于LayUI 2.4.5实现的网站后台管理模板
- 用NW.js(node-webkit)开发多平台的桌面客户端
- PHP生成随机昵称/用户名
- THINKPHP5网站分类目录程序 尊云网站目录系统
- 织梦(DEDECMS)微信支付接口 微信插件
- 基于LayUI开发的 网站后台管理模板 BeginnerAdmin
- 响应式后台网站模板 - AMA.ADMIN
- layuiAdmin后台管理模板 Iframe版
- LayUI 1.0.9 升级 至 LayUI 2.1.4 方法
- 简洁清爽的会员中心模板
- jQuery幸运大转盘抽奖活动代码