php采集程序的方法在我们程序开发的过程中是经常要遇到的,那我们常用的采集方法有哪些呢,下面我们一起来看具体的方法,还附带有具体实例,让大家一看就明白,会用。

方法一:file_get_contents($url);
<?php
$url = "http://www.seostudying.com";
$con = file_get_contents($url);  //采集到的内容将存储到$con里面
echo $con;
?>

方法二、使用 curl 来进行采集
使用 curl 来采集数据比 file_get_contents 更加灵活,现在很多网页做了防采集的措施,如果直接使用 file_get_contents 来进行采集的话,将无法成功
但是使用 curl 将没有这种问题,curl 可以模拟浏览器信息进行采集。
以下是使用 curl 进行采集的实例,其中 curl_setopt 是常用到的几项设置,请根据需要选择。
<?php
$url = "http://www.seostudying.com";
$useragent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)";
$header = array('Accept-Language: zh-cn','Connection: Keep-Alive','Cache-Control: no-cache');
$ch = curl_init();  //初始化 curl
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);  //模拟浏览器的头信息
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);  //模拟浏览器的信息
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);  //是否保存采集内容
curl_setopt($ch, CURLOPT_TIMEOUT, 60);  //curl允许执行的最大时间,单位是秒
curl_setopt($ch, CURLOPT_URL, $url);  //要采集的网址
curl_setopt($ch, CURLOPT_HEADER, 1); //是否要保存头信息
$con = curl_exec($ch);  //采集到的内容将存储到$con里面
echo $con;
?>

方法三、使用网上非常流行的snoopy来进行采集

这是一个非常强大的采集插件,并且它的使用非常方便,你也可以在里面设置agent来模拟浏览器信息。
<?php
require('Snoopy.class.php'); //引入snoopy的类文件
$snoopy = new Snoopy;        //初始化snoopy类
$url = "http://www.seostudying.com";
$snoopy->fetch($url);        //开始采集内容
$con = $snoopy->results;    //保存采集内容到$con
echo $con;
?>
上面的3种方法就是我们使用PHP来进行采集常常用到的几种方法,其中snoopy是最简单的,当然在实际使用的时候可能需要根据实际情况组合使用,这几个例子都只是最基本的采集代码,在运用的时候你需要根据个人需求添加相应的正则来提取所需的内容。
我在做采集程序的时候碰到的几个问题主要有以下几种:
1.PHP程序的30秒的超时问题,解决的办法是在采集代码之前加 set_time_limit(0); 0代表不限制
2.采集的时候返回结果为403,此时你需要检查自己的代码是否模拟了浏览器信息。
3.对方网站加密,采集回来的是一堆乱码,这个一般情况比较少。
采集程序实际上原理通过程序模拟人工访问网站的步骤,把打开的网页保存到本地,然后通过正则来提取自己想要的内容。

php采集程序的方法相关推荐

  1. 打造高效词库,用上词语采集程序!

    作为一名写手,我们都知道,在写作过程中,一个好的词语库是非常重要的.而如何构建一个高效.全面的词语库呢?这时我们就需要借助词语采集程序了.本文将从原理.分类.实现方法.应用等多个方面进行详细讲解. 一 ...

  2. php采集分析,PHP采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的.苦想了几天,终于弄明白了里面的道理.在这里写出来,请高手指正. 采集 ...

  3. php 滑块 爬虫_PHP实现简易爬虫与简易采集程序

    今天跟大家分享两段php代码,一段是PHP实现简易爬虫,一段是PHP实现简易采集程序.代码都比较简单,适合会点php的SEO初学者. PHP实现简易爬虫 代码中涉及两个表,urls和visited,分 ...

  4. 微信测试睡眠的软件,微信小睡眠小程序使用方法

    小睡眠APP是一款手机上的睡眠质量辅助软件,在小睡眠APP中用户可以掌握自己的睡眠质量哦,其中小睡眠APP在睡眠方面还是很到位的哦,今天小编就整理了小睡眠APP相关的使用教程,有需求的小伙伴不要错过了 ...

  5. 采集程序 -【开源项目】

    更新:通过一些朋友的回复,了解到,可能文章太长了,有朋友只是简略浏览,所以还没有明白程序工作流程. 简单介绍,这个程序是给程序员用的,使用这个软件,必须是会写正则的朋友,或者是有朋友帮忙写正则. 这个 ...

  6. 使用pykinect2+pyqt5开发kinect v2采集程序

    介绍 PyKinect2是一个将kinect api转化成python的程序,作者提供了例程,github地址,pyqt5是python版的QT,主要用来开发界面,本文利用两者开发kinect v2采 ...

  7. 一种日志采集装置及方法

    摘要 本发明提供了一种日志采集装置及方法,其中,日志采集装置包括:日志监控模块,用于监控当前服务器上的多个应用系统的日志文件:确定各日志文件新增的记录,并保存各日志文件以及新增的记录:数据传输服务模块 ...

  8. 苹果cms采集包tu.php在哪里,苹果cms采集插件如何使用 苹果cms采集插件使用方法介绍...

    苹果cms采集插件是一款为想要建影视资源站的站长们提供的采集插件,通过这款插件你可以直接为你的影视站采集各大视频网站的影视资源.一些小伙伴想知道苹果cms采集插件如何使用,下面就让小编为大家介绍一下苹 ...

  9. 基于GTK的USB视频采集程序

    基于GTK的USB视频采集程序 查了几天的资料,今天终于将USB摄像头测试程序调试成功了.这个测试程序很简单,功能就是将USB摄像头采集的数据显示在屏幕上.写这个程序的目的是熟悉usb摄像头的一些基本 ...

最新文章

  1. 【ijkplayer】编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )
  2. java面试题3(java基础)
  3. python100天从新手到大师 pdf_Python100天从新手到大师(Python100Days)
  4. iOS GZWaterfall任何形式的瀑布流
  5. Windows 10 下一版本更新代号为“Manganese”
  6. 蹲下突然站起来总是会头晕,是什么原因?
  7. Markdown 调整图片位置与大小
  8. 关于CMR和SMR技术硬盘的选择
  9. 华为数据之道(5):华为数字化转型的目标、蓝图和愿景
  10. indesign增效工具缺失_下载了Indesign CS5,但是文件打不开,说缺少增效工具,如何处理?...
  11. 聚类分析K均值算法讲解
  12. 和ChatGPT的一番对话
  13. 最新文本转语音的接口(免费),百度语音作废
  14. VirtualProtect 3方法 -seh ret-ASLR-dep-Adrenalin Player 2.2.5.3
  15. Grid ++ MIME 类型配置 载入报表数据,检查此URL及其数据,错误提示 网络服务器响应不成功
  16. java 字数_java 字数统计
  17. 商务智能-第四章 数据仓库设计
  18. 相机选型与远心镜头选型
  19. 第五代TTS语音芯片SYN8086性能再突破
  20. nginx过滤器模块

热门文章

  1. 【FME-HOW-TO系列】18 从点生成等高线数据
  2. crf*.bdb文件过大问题处理
  3. Python【算法设计与分析】穷举法
  4. 李开复新书《AI·未来》
  5. Python批量监控主机内存/CPU利用率/磁盘/网络等信息
  6. 仿微信朋友圈时间显示 根据时间获取几分钟前,几小时前,几天前,几月前,几年前
  7. Android 开启手电筒功能(完美适配4.x, 5.x, 6.x )
  8. JAVA代码实现抽奖功能,自定义奖品以及奖品概率
  9. 操作系统实验一·创建进程
  10. Appium实现手机自动化测试案例