Rumah > php教程 > php手册 > 基于PHP采集数据入库程序(一),php采集数据入库

基于PHP采集数据入库程序(一),php采集数据入库

WBOY
Lepaskan: 2016-06-13 09:28:21
asal
787 orang telah melayarinya

基于PHP采集数据入库程序(一),php采集数据入库

前几天有一朋友要我帮做一个采集新闻信息的程序,抽了点时间写了个PHP版本的,随笔记录下。

说到采集,无非就是远程获取信息->提取所需内容->分类存储->读取->展示

也算是简单"小偷程序"的加强版吧

下面是对应核心代码(别拿去做坏事哦^_^)

 

所要采集的内容是某游戏网站上的公告,如下图:

可先利用file_get_contents和简单正则获取基本页面信息

整理下基本信息,采集入库:

<?<span>php
    </span><span>include_once</span>("conn.php"<span>);


     </span><span>if</span>(<span>$_GET</span>['id']<=8&&<span>$_GET</span>['id'<span>]){
         </span><span>$id</span>=<span>$_GET</span>['id'<span>];
        </span><span>$conn</span>=<span>file_get_contents</span>("http://www.93moli.com/news_list_4_<span>$id</span>.html");<span>//</span><span>获取页面内容</span>


    
    <span>$pattern</span>="/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs";<span>//</span><span>正则</span>

    <span>preg_match_all</span>(<span>$pattern</span>, <span>$conn</span>, <span>$arr</span>);<span>//</span><span>匹配内容到arr数组

    //print_r($arr);die;</span>
    
    <span>foreach</span> (<span>$arr</span>[1] <span>as</span> <span>$key</span> => <span>$value</span>) {<span>//</span><span>二维数组[2]对应id和[1]刚好一样,利用起key</span>
        <span>$url</span>="http://www.93moli.com/".<span>$arr</span>[2][<span>$key</span><span>];
        </span><span>$sql</span>="insert into list(title,url) value ('<span>$value</span>', '<span>$url</span>')"<span>;
        </span><span>mysql_query</span>(<span>$sql</span><span>);

        </span><span>//</span><span>echo "<a href='content.php?url=http://www.93moli.com/$url'>$value</a>"."<br/>";    </span>
<span>    }
     </span><span>$id</span>++<span>;
     </span><span>echo</span> "正在采集URL数据列表<span>$id</span>...请稍后..."<span>;
     </span><span>echo</span> "<script>window.location='list.php?id=<span>$id</span>'</script>"<span>;

 }</span><span>else</span><span>{
     </span><span>echo</span> "采集数据结束。"<span>;
 }

</span>?>
Salin selepas log masuk

 

conn.php是数据库连接文件

list.php是本页面

由于要采集的数据是分页显示的,且页面地址是规律递增,所以我用了js跳转代码,利用id传值控制采集的页数,也避免了for循环数目过大。

 

轻轻松松数据入库,下篇博客写关于具体url采集信息的过程。

 

php程序员对数据采集的要掌握程度怎?

php数据采集常见技术要领:

1、熟练正则表达式提取数据技术:提取内容关键步骤
2、熟练字符编码转换分析技术:兼容性管理以及数据有效性控制
3、熟练数据出库入库整理技术:对已采集内容的存储管理,包括数据库以及文件和进度
4、发掘数据以及网站爬行技术:分析网站结构,简化爬行手法,提高效率
5、反反采集处理技术:对于存在反采集的目标对象而设计的反反采集技术
6、多服务器并发采集管理技术:提高效率的工作方法
7、数据整理分析技术:查漏验证数据正确性有效性
8、自我身份保护技术:自身信息的保护
 

一段php采集程序 要可以采集列表及内容可以够页,并且入库 有注释最好了

phpquery 用这个,自己再写个入库,
 

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan