PHP 采集心得技巧


Posted in PHP onMay 15, 2009

1.获取远程文件源代码(file_get_contents或用fopen).
2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)。
3.跟根得到的内容进行下载入库等操作。

在这里第二步有可能要重复的操作好几次,比如说要先分析一下分页地址,在分析一下内页的内容才能取得我们想要的东西。

代码:

记的以前发部过部分的代码今天我在这里在简单的发部一下

复制PHP内容到剪贴板

PHP代码:
@$nl=file_get_contents($rs['url']);//抓取远程内容
preg_match_all("/var url = "gameswf/(.*?).swf";/is",$nl,$connect);//进行正规匹配取得自己要的内容
mysql_query("insert ......插入数据库部分");

上面的代码就是所有采集要用到的代码了,当然大家也可以用fope来作,我个人喜欢用file_get_contents。

下面在共享一下我的下载图片flash到本地的办法,太简单了两行代码

PHP代码:

if(@copy($url,$newurl)){ 
echo 'ok'; 
}

在论坛上以前还发过一个图片下载函数这会也放上来给大家

PHP代码:

/*本存图片函数*/ 
function getimg($url,$filename){ 

/*判断图片的url是否为空,如果为空停止函数*/ 


if($url==""){ 




return false; 


} 


/*取得图片的扩展名,存入变量$ext中*/ 


$ext=strrchr($url,"."); 


/*判断是否是合法的图片文件*/ 

if($ext!=".gif" && $ext!=".jpg"){ 




return false; 


} 


/*读取图片*/ 


$img=file_get_contents($url); 


/*打开指定的文件*/ 


$fp=@fopen($filename.$ext,"a"); 


/*写入图片到指点的文件*/ 


fwrite($fp,$img); 


/*关闭文件*/ 


fclose($fp); 


/*返回图片的新文件名*/ 


return $filename.$ext; 
}

共享一下个人的采集心德:

1.不采那些作防盗链了的站,其实可以作假来路但是这样的站采集成本太高

2.采集尽量快的站,最好在本地进行采集

3.采集时有很多时候可以先把一部分数据存入数据库,等以后进行下一步的处理。

4.采集的时候一定要作好出错处理,我一般都是如果采集三次没有成功就跳过。以前经常就因为一条内容不能采就卡在那里一直的采。

5.入库前一定要作好判断,检查内容的合法,过滤不必要的字符串。

PHP 相关文章推荐
php MsSql server时遇到的中文编码问题
Jun 11 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
一个简单的php MVC留言本实例代码(必看篇)
Sep 22 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php组合排序简单实现方法
Oct 15 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php实现每日签到功能
Nov 29 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
May 02 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 #PHP
PHP获取当前文件所在目录 getcwd()函数
May 13 #PHP
php 购物车实例(申精)
May 11 #PHP
PHP 编写的 25个游戏脚本
May 11 #PHP
PHPMyAdmin 快速配置方法
May 11 #PHP
PHP 在线翻译函数代码
May 07 #PHP
PHP SQLite类
May 07 #PHP
You might like
安装APACHE
2007/01/15 PHP
php win下Socket方式发邮件类
2009/08/21 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
php获取参数的几种方法总结
2014/02/18 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
Python随机数random模块使用指南
2016/09/09 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Python 元组操作总结
2019/09/18 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
自我推荐书
2013/12/04 职场文书
中层干部岗位职责
2013/12/18 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
家长对孩子的感言
2014/03/10 职场文书
财务科科长岗位职责
2014/03/10 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
会计出纳岗位职责
2015/03/31 职场文书
导游词幽默开场白
2019/06/26 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
Python利用folium实现地图可视化
2021/05/23 Python
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL