如何通过PHP进行网站数据采集?

后端开发   发布日期:2023年06月05日   浏览次数:454

随着信息时代的到来,现在大部分人获取的信息都来自互联网,如果对自己有用的数据使用传统的复制粘贴,效率会极其低下。如何才能快速的完成批量采集工作呢?下面我们就聊一聊关于PHP采集的一些事!

采集就是使用file_get_contents函数和正则的使用。

先贴上一段代码

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. <?php
  9. $file=file_get_contents("http://nitnews.nyist.net/list_59.html");
  10. $preg1="#<LI><A title=(.*) href=\"(.*)\" target=_blank>(.*)</A><SPAN>&nbsp;&nbsp;(.*)</SPAN> </LI>#iUs";
  11. preg_match_all($preg1,$file,$arr);
  12. //print_r($arr);exit();
  13. foreach($arr[1] as $id=>$val)
  14. {
  15. //echo "<a href=\"http://nitnews.nyist.net/".$arr[2][$id]."\">".$val."</a><br />";
  16. echo "<a href=\"content.php?url="."http://nitnews.nyist.net/".$arr[2][$id]."\">".$val."</a><br />";
  17. }
  18. ?>
  19. </body>
  20. </html>
  21. [/php]
  22. [php]
  23. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  24. <html xmlns="http://www.w3.org/1999/xhtml">
  25. <head>
  26. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  27. <title>无标题文档</title>
  28. </head>
  29. <body>
  30. <?php
  31. function GetInfo($preg,$con,$num=1)
  32. {
  33. preg_match($preg,$con,$arr);
  34. $arr[$num]=str_replace("src=\"/upFile/","src=\"http://nitnews.nyist.net/upFile/",$arr[$num]);
  35. return $arr[$num];
  36. }
  37. $url=$_GET[‘url’];
  38. $content=file_get_contents($url);
  39. $pr="@<H1>(.*)</H1>@iUs";
  40. echo "文章标题是:".GetInfo($pr,$content);
  41. $con="#<!–正文内容开始–>(.*)<!–正文内容结束–>#iUs";
  42. echo "文章内容是:".GetInfo($con,$content);
  43. ?>
  44. </body>
  45. </html>

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

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

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

以上就是如何通过PHP进行网站数据采集?的详细内容,更多关于如何通过PHP进行网站数据采集?的资料请关注九品源码其它相关文章!