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无限极分类实现的两种解决方法
Apr 28 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
php生成图片缩略图功能示例
Feb 22 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP多种序列化/反序列化的方法详解
Jun 23 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
Laravel相关的一些故障解决
Aug 19 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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
10个简化PHP开发的工具
2014/12/25 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
Jquery 设置标题的自动翻转
2009/10/03 Javascript
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
Bootstrap表单布局
2016/07/19 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
Python常用知识点汇总
2016/05/08 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python实现俄罗斯方块
2018/06/26 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
C语言中break与continue的区别
2012/07/12 面试题
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
普通大学毕业生自荐信范文
2014/02/23 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript