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);
}
}
?>