curl ——爬取网页数据

使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:

       1、初始化连接句柄;

       2、 配置参数;

       3、执行并获取结果;

       4、释放CURL连接句柄。

下面是curl模拟get请求 ,抓取网页内容:

     

$url="http://book.zongheng.com/chapter/672340/36898237.html";  

//1.初始化curl
$ch=curl_init($url);//第一步,我们通过函数curl_init()创建一个新的curl会话
//2.设置传输选项(向服务器端发送请求)

//curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//3.执行curl请求(接收服务器端发送的数据)
$output=curl_exec($ch);

//4.关闭curl
curl_close($ch);
//匹配标题            <div class="title_txtbox">第一章 惊蛰</div>
preg_match_all("/<div class=\"title_txtbox\">(.*?)<\/div>/", $output, $title);    
//匹配p标签段落内容    <p>二月二,龙抬头。</p>
preg_match_all("/<p>(.*?)<\/p>/", $output, $match);

//.  是任意字符 可以匹配任何单个字符,
//.*?  表示匹配任意字符到下一个符合条件的字符
$a=$match[0];
echo implode( ' ',$a);  

 

 

转载于:https://www.cnblogs.com/lc2817/p/11327988.html

libcurl是一个开源的网络库,可以用来进行网络数据传输和通信。通过libcurl,我们可以使用C/C++程序轻松地访问各种网络资源,例如HTTP、FTP、SMTP等协议。下面是使用libcurl进行网页数据爬取的基本流程: 1. 初始化libcurl,创建一个curl句柄。 2. 设置curl句柄的一些参数,例如需要访问的URL地址、HTTP请求方式等。 3. 设置回调函数,用于接收服务器返回的数据。 4. 执行curl_easy_perform()函数,发送HTTP请求并接收服务器返回的数据。 5. 处理接收到的数据,例如解析HTML页面并提取需要的信息。 6. 释放curl句柄和相关资源。 下面是一个简单的示例代码,演示如何使用libcurl进行网页数据爬取: ``` #include <stdio.h> #include <curl/curl.h> // 回调函数,用于接收服务器返回的数据 static size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { // 将接收到的数据输出到标准输出 fwrite(ptr, size, nmemb, stdout); return size * nmemb; } int main() { CURL *curl; CURLcode res; // 初始化libcurl,创建一个curl句柄 curl = curl_easy_init(); if (curl) { // 设置curl句柄的一些参数 curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); // 执行curl_easy_perform()函数,发送HTTP请求并接收服务器返回的数据 res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } // 释放curl句柄和相关资源 curl_easy_cleanup(curl); } return 0; } ``` 在以上示例代码中,我们使用了curl_easy_setopt()函数来设置curl句柄的一些参数,例如需要访问的URL地址、HTTP请求方式等。我们还设置了一个回调函数,用于接收服务器返回的数据。最后,我们调用了curl_easy_perform()函数执行HTTP请求并接收服务器返回的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值