php采集程序的方法有哪些_php采集插件

php采集程序的方法有哪些_php采集插件php采集程序的方法在我们程序开发的过程中是经常要遇到的,那我们常用的采集方法有哪些呢,下面我们一起来看具体的方法,还附带有具体实例,让大家一看就明白,会用。方法一:file_get_contents($url);$url=”http://www.seostudying.com”;$con=file_get_contents($url); //采集到的内容将存储到$c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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.对方网站加密,采集回来的是一堆乱码,这个一般情况比较少。
采集程序实际上原理通过程序模拟人工访问网站的步骤,把打开的网页保存到本地,然后通过正则来提取自己想要的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234273.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月8日 上午10:43
下一篇 2025年6月8日 上午11:15


相关推荐

  • 一文教你了解SSL协议「建议收藏」

    一文教你了解SSL协议「建议收藏」什么是SSL简称是SSL,全称SecureSocketsLayer安全套接字协议,一般我们在学习SSL的时候,都会和TLS一起来学习的,为什么呢?因为SSL和TLS都是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。我们先看SSL协议,然后在看TLS协议。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSLRecordProtocol)

    2022年5月31日
    39
  • pycharm导入Python_python简单项目

    pycharm导入Python_python简单项目1安装Anaconda1、安装anocandahttps://www.jianshu.com/p/d3a5ec1d9a082、配置anocanda环境变量3、测试安装成功看到如下就安装成功了2python3.81、安装软件等待安装完成!2、添加python的环境变量3、测试成功3、pycharm导入python项目1、打开对应的项目2、将python3.8导入该项目中遇到如下问题:(如

    2022年8月28日
    4
  • 工厂供电复习笔记

    工厂供电复习笔记概述什么是电网,电网怎么区分。基本概念熟练掌握。1.2电力系统接线方式和电压等级电压等级每年都考,一些基本的概念。有一张图,给一些相关参数算其他没给的参数。长线短线中性点运行方式相当重要中性点不解地,某一相不解地,为什么还能继续工作。中性点为什么经过消弧线圈接地,进位对地电流超过多少就需要。中性点为什么经小电阻接地。中性点直接接地。TN-C系统外壳带电怎么办TN-S系统TN-C-S系统市电就是这三种系统TN系统,中性线接地,有什么作用:ppt三条TT系统IT系统第二章工

    2025年9月8日
    7
  • 报错解决:Downloading VS Code Server failed. Please try again later.

    报错解决:Downloading VS Code Server failed. Please try again later.之前写过教程:Windows下使用VSCode远程SSH连接Linux服务器进行开发vscode使用ssh密钥登录远程Linux–vscoderemotelinuxsshkey

    2022年5月27日
    227
  • http请求415错误Unsupported Media Type

    http请求415错误Unsupported Media Type王子乔每一个认真生活的人,都值得被认真对待王子乔每一个认真生活的人,都值得被认真对待王子乔每一个认真生活的人,都值得被认真对待http请求415错误UnsupportedMediaTy

    2022年7月1日
    25
  • plc梯形图编程入门基础知识_plc简单循环程序梯形图

    plc梯形图编程入门基础知识_plc简单循环程序梯形图OFweek工控网讯:初学PLC梯形图编程,应要遵循一定的规则,并养成良好的习惯。下面以三菱FX系列PLC为例,简单介绍一下PLC梯形图编程时需要遵循的规则,希望对大家有所帮助。有一点需要说明的是,本文虽以三菱PLC为例,但这些规则在其它PLC编程时也可同样遵守。  一,梯形阶梯都是始于左母线,终于右母线(通常可以省掉不画,仅画左母线)。每行的左边是接点组合,表示驱动逻辑线圈的条件,而表示结果

    2025年10月24日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号