好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

phpcurl如何采集 php 采集

很多站长朋友们都不太清楚phpcurl如何采集,今天小编就来给大家整理phpcurl如何采集,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php中curl爬虫 怎么样通过网页获取所有链接 2、 如何用php CURL 抓取微信网页的内容 3、 php curl采集搜索结果要怎么写 4、 php的curl怎么爬取网页内容 5、 php curl 大量数据采集 php中curl爬虫 怎么样通过网页获取所有链接

本文承接上面两篇,本篇中的示例要调用到前两篇中的函数,做一个简单的URL采集。一般php采集网络数据会用file_get_contents、file和cURL。不过据说cURL会比file_get_contents、file更快更专业,更适合采集。今天就试试用cURL来获取网页上的所有链接。示例如下:

<?php

/*

* 使用curl 采集hao123测试数据下的所有链接。

*/

include_once('function.php');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, '');

// 只需返回HTTP header

curl_setopt($ch, CURLOPT_HEADER, 1);

// 页面内容我们并不需要

// curl_setopt($ch, CURLOPT_NOBODY, 1);

// 返回结果,而不是输出它

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$html = curl_exec($ch);

$info = curl_getinfo($ch);

if ($html === false) {

echo "cURL Error: " . curl_error($ch);

}

curl_close($ch);

$linkarr = _striplinks($html);

// 主机部分,补全用

$host = '';

if (is_array($linkarr)) {

foreach ($linkarr as $k => $v) {

$linkresult[$k] = _expandlinks($v, $host);

}

}

printf("<p>此页面的所有链接为:</p><pre>%s</pre>n", var_export($linkresult , true));

?>

function.php内容如下(即为上两篇中两个函数的合集):

<?php

function _striplinks($document) {

preg_match_all("'<s*as.*?hrefs*=s*(["'])?(?(1) (.*?)\1 | ([^s>]+))'isx", $document, $links);

// catenate the non-empty matches from the conditional subpattern

while (list($key, $val) = each($links[2])) {

if (!empty($val))

$match[] = $val;

} while (list($key, $val) = each($links[3])) {

if (!empty($val))

$match[] = $val;

}

// return the links

return $match;

}

/*===================================================================*

Function: _expandlinks

Purpose: expand each link into a fully qualified URL

Input: $links the links to qualify

$URI the full URI to get the base from

Output: $expandedLinks the expanded links

*===================================================================*/

function _expandlinks($links,$URI)

{

$URI_PARTS = parse_url($URI);

$host = $URI_PARTS["host"];

preg_match("/^[^?]+/",$URI,$match);

$match = preg_replace("|/[^/.]+.[^/.]+$|","",$match[0]);

$match = preg_replace("|/$|","",$match);

$match_part = parse_url($match);

$match_root =

$match_part["scheme"]."://".$match_part["host"];

$search = array( "|^http://".preg_quote($host)."|i",

"|^(/)|i",

"|^(?!http://)(?!mailto:)|i",

"|/./|",

"|/[^/]+/|"

);

$replace = array( "",

$match_root."/",

$match."/",

"/",

"/"

);

$expandedLinks = preg_replace($search,$replace,$links);

return $expandedLinks;

}

?>

如何用php CURL 抓取微信网页的内容

给你简单介绍几个吧

一、file_get_contents函数

$content = file_get_contents("URL");//URL就是你要获取的页面的地址

二、利用curl扩展

代码如下:

function getCurl($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不输出内容

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$result = curl_exec($ch);

curl_close ($ch);

return $result;

}

PS:需要安装PHP的curl扩展

php curl采集搜索结果要怎么写

首先用curl获取 www。baidu。com/s?wd=你的关键词 的网页内容,然后使用正则过滤出第一页的搜索结果。

然后 在用 curl 获取 www。baidu。com/s?wd=你的关键词pn=10 第二页的数据,同样用正则解析出搜索结果,继续获取 pn=20 pn=30 pn=40等依次类推。

php的curl怎么爬取网页内容

创建一个新cURL资源

设置URL和相应的选项

抓取URL并把它传递给浏览器

关闭cURL资源,并且释放系统资源

代码案例:

php curl 大量数据采集

这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)

参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。

因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)

不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。

关于phpcurl如何采集的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于phpcurl如何采集 php 采集的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did197872
更新时间:2023-04-26   阅读:18次

上一篇: php数组给js php数组push

下一篇:漏洞在线利用php 漏洞库网站

最新资料更新

  • 1.exec-php下载 php exe
  • 2.php获取阴历 php获取日期
  • 3.php在线直播详解 php直播用的什么技术
  • 4.php可以回收吗 php还有人用吗
  • 5.php输出jq代码 php输出hello
  • 6.php判断是否为蜘蛛 php怎么判断是不是数字
  • 7.php提取数组转map php 数组转xml
  • 8.php链接数据库创建表格 php连接数据库的方法
  • 9.php识别条码 php代码扫描
  • 10.php底层c源码 php底层是用c写的吗
  • 11.php实例上传txt代码的简单介绍
  • 12.php大数据算法 php如何处理大数据
  • 13.php怎么操作树 php tree
  • 14.phpajax日历 php如何生成一年的日历
  • 15.php从事哪个方面 php干啥的
  • 16.php如何转换json php如何转换视频
  • 17.php在线运行测试 php 测试工具
  • 18.哈希mapphp 哈希map和哈希table区别
  • 19.php加密12进 php加密解密
  • 20.零基础php模板 php0基础教程

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]