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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
PHP 模板高级篇总结
Dec 21 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
PHP多个文件上传到服务器实例
Oct 29 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
实现php删除链表中重复的结点
Sep 27 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
Jul 22 PHP
laravel 时间格式转时间戳的例子
Oct 11 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中生成UUID自定义函数分享
2015/06/10 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
JavaScript开发规范要求(规范化代码)
2010/08/16 Javascript
js用正则表达式来验证表单(比较齐全的资源)
2013/11/17 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
Vue中计算属性computed的示例解读
2017/07/26 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
Python操作注册表详细步骤介绍
2020/02/05 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
python3.7添加dlib模块的方法
2020/07/01 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
《月迹》教学反思
2014/02/19 职场文书
消防安全宣传口号
2014/06/10 职场文书
市场营销毕业求职信
2014/08/07 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
Python requests用法和django后台处理详解
2022/03/19 Python