• 技术文章 >后端开发 >php教程

    PHP抓取和分析_PHP

    2016-06-01 12:32:30原创384
    抓取和分析一个文件是非常简单的事。这个教程将通过一个例子带领你一步一步地去实现它。让我们开始吧!

      首先,我首必须决定我们将抓取的URL地址。可以通过在脚本中设定或通过$QUERY_STRING传递。为了简单起见,让我们将变量直接设在脚本中。

    $url = 'http://www.php.net';
    ?>

      第二步,我们抓取指定文件,并且通过file()函数将它存在一个数组里。

    $url = 'http://www.php.net';
    $lines_array = file($url);
    ?>

      好了,现在在数组里已经有了文件了。但是,我们想分析的文本可能不全在一行里面。为了解这个文件,我们可以简单地将数组$lines_array转化成一个字符串。我们可以使用implode(x,y)函数来实现它。如果在后面你想用explode(将字符串变量数组),将x设成"|"或"!"或其它类似的分隔符可能会更好。但是出于我们的目的,最好将x设成空格。y是另一个必要的参数,因为它是你想用implode()处理的数组。

    $url = 'http://www.php.net';
    $lines_array = file($url);
    $lines_string = implode('', $lines_array);
    ?>

      现在,抓取工作就做完了,下面该进行分析了。出于这个例子的目的,我们想得到在到
    之间的所有东西。为了分析出字符串,我们还需要叫做正规表达式的东西。

    $url = 'http://www.php.net';
    $lines_array = file($url);
    $lines_string = implode('', $lines_array);
    eregi("(.*)
    ", $lines_string, $head);
    ?>

      让我们看一下代码。正如你所见,eregi()函数按下面的格式执行:

    eregi("(.*)
    ", $lines_string, $head);

      "(.*)"表示所有东西,可以解释为,"分析在和
    间的所以东西"。$lines_string是我们正在分析的字符串,$head是分析后的结果存放的数组。

      最后,我们可以输数据。因为仅在和
    间存在一个实例,我们可以安全的假设数组中仅存在着一个元素,而且就是我们想要的。让我们把它打印出来吧。

    $url = 'http://www.php.net';
    $lines_array = file($url);
    $lines_string = implode('', $lines_array);
    eregi("(.*)
    ", $lines_string, $head);
    echo $head[0];
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP程序员一般都忽略了的几点精华_PHP 下一篇:PHP网站提速三大“软”招_PHP
    Web大前端开发直播班

    相关文章推荐

    • apache 启动时提示 Unable to load dynamic library 'f:phpphp_iconv.dll' -'找不到指定程序解决思路 • 怎样获取url参数解决方案 • php文件有关问题请问 • php读库生成xml文件解决方案 • 提一个弱智有关问题,不要骂小弟我

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网