简单数据采集(http://blog.jobbole.com/tag/php/)

该博客文章展示了如何使用PHP进行简单的网页数据采集。通过循环遍历多个页面,使用正则表达式匹配HTML结构,提取图片链接、文章标题、发布日期和内容。然后,将这些数据存储到MySQL数据库中,包括创建PDO连接、插入数据到指定表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
for($i=1;$i<=4;$i++){
    $url="http://blog.jobbole.com/tag/php/page/$i/";
    $str=file_get_contents($url);
    $reg='#<div class="post floated-thumb">.*<div id="sidebar" class="grid-4">#isU';
    preg_match($reg,$str,$arr);
//var_dump($arr);die();
    $reg2='#<img src="(.*)" alt="" .* />.*<a target="_blank" class="archive-title" href=".*" title=".*">(.*)</a><br />(.*) &middot; <a href=".*" rel="category tag">.*<span class="excerpt"><p>(.*)</p>.*<span class="read-more">#isU';
    preg_match_all($reg2,$arr[0],$data);
//var_dump($data);die();
    $dsn = "mysql:host=127.0.0.1;dbname=cjlianxi";
    $db = new PDO($dsn, 'root', 'root');
    foreach($data[1] as $k1=>$v1){
        $str=file_get_contents($v1);//获取图片内容
        $ext=substr($v1,strrpos($v1,"."));//截取后缀
        $filename="images/".time().rand(1000,9999).$ext;
        file_put_contents($filename,$str);//移入缓存
        $sql="insert into exam902(title,content,img,addtime)VALUES ('".$data[2][$k1]."','".$data[4][$k1]."','".$filename."','".$data[3][$k1]."')";
        $db->exec($sql);
    } 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值