`

curl 抓取yahoo boss 搜索结果

    博客分类:
  • php
阅读更多
编写curl类,进行网页内容抓取
class CurlUtil
{
    private $curl;
    private $timeout = 10;

    /**
     * 初始化curl对象
     */
    public function __construct()
    {
        $this->curl = curl_init();
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($this->curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
        curl_setopt($this->curl, CURLOPT_HEADER, false); //设定是否显示头信息
        curl_setopt($this->curl, CURLOPT_NOBODY, false); //设定是否输出页面内容
        curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->timeout);
        curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($this->curl, CURLOPT_AUTOREFERER, true);
    }

    /**
     * 注销函数 关闭curl对象
     */
    public function __destruct()
    {
        curl_close($this->curl);
    }

    /**
     * 获取网页的内容
     */
    public function getWebPageContent($url)
    {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        return curl_exec($this->curl);
    }
}



创建curl对象
$CurlUtil = new CurlUtil();  


抓取yahoo搜索结果
function  getYahooSearch(CurlUtil $curl, $key)
{
    $key = urlencode($key);
    $searchUrl = "http://boss.yahooapis.com/ysearch/web/v1/$key?appid=你的雅虎appid&lang=tzh&region=hk&abstract=long&count=20&format=json&start=0&count=10";
  
    $josnStr = $curl->getWebPageContent($searchUrl);
    $searchDataInfo = json_decode($josnStr, true);
    $searchData = $searchDataInfo['ysearchresponse']['resultset_web'];

    $returnArray = array();
    if (!empty($searchData)) {
        foreach ($searchData as $data) {
            $returnArray[] = array("url" => $data['url'], "date" => $data['date'], 'title' => strip_tags($data['title']), 'description' => strip_tags($data['abstract']));
        }
    }
    return $returnArray;
}


测试结果
var_dump(getYahooSearch($CurlUtil, "百度"));
分享到:
评论

相关推荐

    php下通过curl抓取yahoo boss 搜索结果的实现代码

    本文将详细介绍如何使用PHP的cURL库来实现这一目标,以抓取Yahoo Boss的搜索结果为例。 首先,我们来理解cURL(客户端URL)库。cURL是一个用于在命令行下工作的开源工具,用于传输数据。在PHP中,cURL被用作一个...

    使用CURL抓取网页数据

    本教程将详细讲解如何使用CURL来抓取网页数据,并结合C++的STL字符串进行分析,最终将提取的数据写入log.txt文件。 首先,我们要了解CURL的基本用法。CURL可以用来发送HTTP请求,获取服务器的响应。例如,使用CURL...

    php应用curl扩展抓取网页类.zip

    2. **设置cURL选项**:为了抓取网页,类可能会使用`curl_setopt()`来配置cURL,例如设置`CURLOPT_RETURNTRANSFER`为true,这样cURL不会直接输出数据,而是将结果存储在变量中。其他可能的选项包括`CURLOPT_...

    php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法

    完成设置后,使用curl_exec()执行会话,这个函数会返回执行结果。如果操作成功,返回的是请求的网页内容;如果失败,返回的是false,并且可以通过curl_error()函数获取错误信息。 需要注意的是,由于网络环境的复杂...

    PHP curl 抓取AJAX异步内容示例

    然而,在某些情况下,我们可能需要通过PHP脚本利用curl工具来抓取这些通过AJAX异步加载的内容。本示例将展示如何使用PHP的curl扩展来抓取AJAX异步内容。 首先,要理解AJAX异步内容抓取与普通页面抓取在技术上并无...

    网页抓取工具curl

    **网页抓取工具curl** curl 是一款强大的命令行工具,用于传输数据到或从服务器,支持多种协议,包括HTTP、HTTPS、FTP、FTPS等。它在IT行业中被广泛使用,特别是对于网络开发者和系统管理员,因为它允许他们方便地...

    curl配合simple_html_dom进行页面数据抓取

    在IT行业中,网络数据抓取是一项重要的技能,特别是在数据分析、搜索引擎优化(SEO)以及网站监控等领域。本示例介绍了一种结合`curl`和`simple_html_dom`库的方法,用于高效地从网页中抓取数据。`curl`是用于传输...

    php应用curl扩展抓取网页类

    使用cURL获取网页内容,可以设置`CURLOPT_RETURNTRANSFER`选项,使得cURL不直接输出,而是返回结果。然后可以通过`curl_exec()`执行请求。 5. **正则表达式抓取** 一旦获取到网页内容,可以使用PHP的`preg_match...

    curl-7.63.0含编译结果含依赖库

    `curl-7.63.0` 是一个包含 `curl` 源代码、依赖库以及编译结果的压缩包。`curl` 是一个著名的开源命令行工具,用于传输数据,支持多种网络协议如 HTTP、FTP、SMTP 等。在开发或系统管理中,`curl` 常用来测试网络...

    curl下载curl包下载

    `curl`是一个强大的命令行工具,用于在操作系统中下载或上传数据,支持众多...无论是简单的网页抓取,还是复杂的API交互,`curl`都能提供有效的解决方案。学习和掌握`curl`的使用,无疑能提升你在IT领域的技能和效率。

    bat获取网页信息 命令行下调用curl获取网页信息

    命令行下调用curl获取网页信息,例如在Java servlet中使用response.getWriter().print("success") curl就可以获取到"success",并保存到check.txt中,再从check.txt中读取数据,并做判断

    PHP 利用Curl实现多线程抓取网页和下载文件

    以下是一个简单的多线程cURL抓取示例: ```php class CurlThread extends \Thread { private $url; public function __construct($url) { $this->url = $url; } public function run() { $ch = curl_init...

    PHP使用Curl实现模拟登录及抓取数据功能示例

    在PHP开发中,有时我们需要获取一些需要用户登录后才能访问的网页内容,此时可以借助Curl库来模拟登录过程并抓取数据。Curl库是一个强大的URL处理工具,支持多种协议,包括HTTP、HTTPS等,它能让我们在PHP中发送HTTP...

    php利用curl抓取新浪微博内容示例

    我们首先需要定义要抓取的网页地址(URL),并通过cURL设置一系列选项,如隐藏头信息、设置请求的URL、将获取的结果以字符串形式返回等。通过curl_exec函数,我们执行了初始化的cURL会话句柄,从而获取了目标页面的...

    利用curl抓取远程页面内容的示例代码

    在IT行业中,网络爬虫和数据抓取是常见的任务,`curl` 是一个非常实用的命令行工具,用于传输数据到或从服务器。本示例将详细介绍如何利用PHP的cURL库来抓取远程页面内容。 首先,让我们理解这段代码的基本结构。在...

    Curl.zip_C++ curl_DEMO_c++ curl_curl_curl c++

    Curl.zip 文件包含了一个在Windows环境下使用C++开发的CURL库示例程序。CURL是一个流行的开源库,用于在各种编程语言中处理URL传输,包括文件上传、下载、HTTP、HTTPS、FTP等网络协议。这个C++ DEMO将帮助我们理解...

    curl-7.53.1_spendrhy_curl_aix7.1安装curl_

    理解并熟练使用`curl`,无论是对开发者还是系统管理员,都是非常有价值的技能,它可以帮助诊断网络问题,自动化数据抓取,甚至进行API测试。在AIX 7.1这样的企业级操作系统上,`curl`的稳定性和效率尤为重要。

    PHP curl实现抓取302跳转后页面的示例

    在这个示例中,`curl_init()`初始化一个cURL会话,`curl_setopt()`函数用于设置cURL的各种选项。`CURLOPT_URL`指定了要请求的URL,`CURLOPT_VERBOSE`开启详细日志,`CURLOPT_HEADER`和`CURLOPT_NOBODY`分别设置是否...

    WWW-Curl-4.17.tar_curl_www_www-curl_Perl_

    curl 支持多种功能,如 POST 请求、文件上传、HTTP 头定制、URL 重定向等,广泛应用于自动化脚本和数据抓取。 2. **www-curl**: `www-curl` 是 Perl 模块 `WWW::Curl` 的简称,它是 Perl 语言的一个接口,允许...

Global site tag (gtag.js) - Google Analytics