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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
May 23 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
33道php常见面试题及答案
Jul 06 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 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
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
浅析PHP文件下载原理
2014/12/25 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
常用DOM整理
2015/06/16 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
使用Python的PEAK来适配协议的教程
2015/04/14 Python
python 文件转成16进制数组的实例
2018/07/09 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
详解python statistics模块及函数用法
2019/10/27 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
进口业务员岗位职责
2014/04/06 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
工作说明书格式
2014/07/29 职场文书
全民创业工作总结
2015/08/13 职场文书
优质服务标语口号
2015/12/26 职场文书