首页 > 编程语言 >如何利用PHP进行数据采集

如何利用PHP进行数据采集

时间:2022-12-08 10:03:06浏览次数:30  
标签:arr 利用 preg echo 采集 num file 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>

这个是我读取我们学校新闻网的一个采集程序,其中原理很简单,如果需要存入数据库~~~那个就简单了,只用在显示的地方写存入数据库代码即可~

要点:空格和标点都不能少!如果没有采集到那么请检查你的匹配规则

附:采集很简单,要理解它的原理就可以了~~以后再批量发布信息就不怕了~

标签:arr,利用,preg,echo,采集,num,file,PHP
From: https://blog.51cto.com/u_13488918/5920441

相关文章

  • 大数据-业务数据采集-FlinkCDC
    CDCCDC是ChangeDataCapture(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写......
  • python中利用Flask框架实现点赞系统
    前言:Flask框架中建立两上路由(.route('/index'))和(.route('/dianzan')),分别用于首页显示和数据接收显示。完整实例:fromflaskimportFlask,render_templatefromflaskimport......
  • PHP兼容性检测
    根据鸟哥分享的PHP性能评测,从PHP5.0到PHP7.0,其性能提升到了12倍左右,因此把PHP5升级到PHP7,是可以提升项目运行速度的。但PHP5到PHP7是大版本的提升,一定会出现不向后兼容的......
  • 应大数据时代而写了个自动采集电影素材的网页
       素材示例网站:WWW.DY185.COM 采用分布式架构:JAVA系统:后台用到HIBERNATE5.0 SPRINGMVCORACLE.NET系统:企业库5.0+EF4.0开发,结合WCF架构。原理如下:后......
  • PHP 自定义 数组根据键去重
    去重前$result=$this->unique_array_by_key($result,"id");functionunique_array_by_key($array,$unique_key){$tmp_key[]=array();forea......
  • PHP加密代码及部分解密处理
    PHP是动态解析型语言即代码不需要编译运行,因不利于代码保密所以在一些商业或黑客会将代码进行加密处理,尽可能的保护知识产权,是一种合理合法的做法。特别说明:以下解密思路及......
  • 建造者模式(描述语言PHP)
    Builder模式强调的是一步步创建对象,并通过相同的创建过程可以获得不同的结果对象,一般来说Builder模式中对象不是直接返回的。 <?php/***建造者模式**将一个复杂......
  • PHP扩展 Opcache工作原理
    PHP工作原理首先,我们先了解下解释型语言PHP的工作原理,这有利于我们了解PHPOpcache。对于PHP,我们常用的是cli模式和php-fpm模式。下面我们拿cli模式来描述下php执行脚本......
  • 河北稳控科技VM系列振弦采集模块频率计算与质量评定
    河北稳控科技VM系列振弦采集模块频率计算与质量评定 运用采集到的若干信号样本数据,首先估算得到一个频率值,称为“伪频率值”;然后在模块异常数据剔除算法模型中,以寄......
  • php-fpm进程过多,导致CPU过高
    今天发现服务器的php-fpm进程突然过多,导致CPU过高,其他项目的访问受到影响。我通过以下三个基本步骤定位到了问题,发现了其原因。 基本步骤:先用top命令查看进程情况,找出......