php数据采集(1)

时间:2019-01-14
本文章向大家介绍php数据采集(1),主要包括php数据采集(1)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

新建单独脚本,如下,浏览器运行即可
页面内容如下,
https://so.gushiwen.org/authors/authorvsw_a7900666497fA1.aspx
一个网页,有多篇文章,

另一篇博客,会介绍 当一个网页只有一篇文章的情况

<?php 

header('Content-type:text/html;charset=utf-8');
//连接数据库
$link  = @mysql_connect('localhost','root','root');
//判断连接是否成功
if(mysql_errno()){
	exit('数据库连接失败'.mysql_error());
}
//选择数据库
mysql_select_db('ceshidaoru');     

// 我要遍历一个文件夹

$jid = substr(__FILE__,strrpos(__FILE__,'\\')+1,strrpos(__FILE__,'.')-strrpos(__FILE__,'\\')-1);
showDir("E:/my/20190110/xinqiji");
function showDir( $filedir ){
    if(is_dir($filedir)){
        //打开目录  
        $dir = @ dir($filedir);  
        while (($file = $dir->read())!==false){  
             if(is_dir($filedir."/".$file) AND ($file!=".") AND ($file!="..")) {  
                   showDir($filedir."/".$file);  
              } else {
                  if ($file != "." and $file != ".."){  
                      getDBData($filedir.'/'.$file,$file);
                       echo  $filedir.'/'.$file.'<br>';
                       //echo $file;
                 }  
              }  
         }
        $dir->close();
    }else{
        getDBData($filedir);
        echo  $filedir;
    }
}  

function getDBData($filename,$file) //file指文件名100000.HTML
{
 
	preg_match('/(\d{0,20})\.aspx/',$file,$ids);		
	$urls=file_get_contents($filename); 

	// 获取一首诗词
	preg_match_all('/<p><a style=([\s\S]*?)<div class="tool">/',$urls,$match);	 

	foreach($match[1] as $val)
	{
		// 获取标题
		preg_match('/target="_blank"><b>([\s\S]*?)<\/b>/',$val,$title);
		preg_match('/<div class="contson" id="[\s\S]*?">([\s\S]*?)<\/div>/',$val,$content);

		// 插入数据库
		$sql2="insert into `caiji`(title,content) values('$title[1]','$content[1]')";

		$res = mysql_query($sql2);
	}
}
?>