`

PHP写采集心得

阅读更多
在论坛好久了没有怎么正式的发表过东西,今天给大家共享一下我的采集代码! 思路: 采集程序的思路很简单大体可以分为以下几个步骤:
1.获取远程文件源代码(file_get_contents或用fopen).
2.分析代码得到自己想要的内容(这里用正规匹配,一般是得到分页)
在论坛好久了没有怎么正式的发表过东西,今天给大家共享一下我的采集代码!

  思路:

  采集程序的思路很简单大体可以分为以下几个步骤:

    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 ......插入数据库部分");

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

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

  复制PHP内容到剪贴板

  PHP代码:

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

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

  复制PHP内容到剪贴板

  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 采集心得技巧】 PHP 采集,也称为网页抓取或网络爬虫,是一种通过自动化方式获取网页信息的技术。以下是一些关于PHP采集的重要知识点和实用技巧: 1. **获取远程文件源代码**: - `file_get_contents`:这...

    使用phpQuery轻松实现采集帮助文档

    ### 使用心得 phpQuery 的优势在于其直观且灵活的 API,它使得处理 DOM 结构变得非常容易。你可以使用类似 jQuery 的链式操作,如 `find()`, `children()`, `siblings()`, `append()`, `prepend()` 等,进行元素的...

    PHP采集利器 Snoopy 试用心得

    (下载snoopy) Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务。 Snoopy的一些特点: * 方便抓取网页的内容 * 方便抓取网页的文本内容 (去除HTML标签) * 方便抓取网页的链接 *...

    Snoopy_试用心得

    ### Snoopy PHP 类详解 #### 一、简介 Snoopy 是一个强大的 PHP 类库,主要功能在于模拟 Web 浏览器的行为。...通过合理的配置和使用方法,开发者可以利用 Snoopy 实现高效的网络数据采集与处理工作。

    基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)

    例如,将GBK编码的字符串转换为UTF-8编码,可以写成`mb_convert_encoding($str, "UTF-8", "GBK")`。 - 如果不确定源编码,可以使用"auto"作为源编码参数,让函数自动检测并转换。 3. **清除源码中的换行符和空格**...

    基于微信小程序的体质健康管理系统设计与实现.docx

    鼓励用户在平台上分享自己的健康心得、经验教训,形成一个积极向上的互动社区。同时,也可以邀请专业医生入驻,提供在线咨询服务。 #### 四、关键技术实现 ##### 4.1 微信小程序开发框架 微信提供了丰富的API和...

    基于大数据的中医文献数据挖掘.pdf

    研究团队利用现有的研究成果,通过构建基于R语言的数据挖掘技术,创建中药数据库,并利用计算机代替人工进行精确查找,这不仅提高了数据采集的准确性、全面性和权威性,还显著缩短了数据挖掘所需的时间,并极大地...

    VB6.0封装EXCEL2010功能区菜单

    Sub 解密(control As IRibbonControl) '备注这个代码是采集EH论坛一个前辈的的 ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFiltering:=True, AllowUsingPivotTables:=...

    Honeybee_web

    同时,它可能还涵盖了养蜂技术,如蜂箱管理、病虫害防治、蜂蜜采集等实践技能。此外,该网站可能还设有论坛或社区功能,让养蜂人和爱好者可以交流经验,分享心得。作为一个全面的蜜蜂信息中心,它可能还包含了关于...

Global site tag (gtag.js) - Google Analytics