欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php数据采集(1)

程序员文章站 2022-07-02 09:55:31
...

新建单独脚本,如下,浏览器运行即可
页面内容如下,
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);
	}
}
?>
相关标签: 数据采集