php curl抓取网页数据(一下自己封装的cURL方法使用方法和有效地去抓网页 )

优采云 发布时间: 2022-04-14 03:15

  php curl抓取网页数据(一下自己封装的cURL方法使用方法和有效地去抓网页

)

  cURL 是一个使用 URL 语法传输文件和数据的工具,并且支持多种协议,例如 HTTP、FTP、TELNET 等。最重要的是,PHP 还支持 cURL 库。使用 PHP 的 cURL 库可以轻松高效地抓取网页。你只需要运行一个脚本,然后分析你爬取的网页,然后你就可以通过编程方式获取你想要的数据。无论您是想从链接中获取一些数据,还是获取 XML 文件并将其导入数据库,甚至只是获取网页的内容

  我们在编写 SOA 服务项目的时候,总是要定义很多 API 接口来为函数提供服务,这时 cURL 就发挥了巨大的作用。这里分享一下自己封装的cURL方法。

  /**

* @param $url 请求网址

* @param bool $params 请求参数

* @param int $ispost 请求方式

* @param int $https https协议

* @return bool|mixed

*/

public static function curl($url, $params = false, $ispost = 0, $https = 0)

{

$httpInfo = array();

$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if ($https) {

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对*敏*感*词*来源的检查

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在

}

if ($ispost) {

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

curl_setopt($ch, CURLOPT_URL, $url);

} else {

if ($params) {

if (is_array($params)) {

$params = http_build_query($params);

}

curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);

} else {

curl_setopt($ch, CURLOPT_URL, $url);

}

}

$response = curl_exec($ch);

if ($response === FALSE) {

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

return false;

}

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

$httpInfo = array_merge($httpInfo, curl_getinfo($ch));

curl_close($ch);

return $response;

}

  指示

  // 发送请求

$result = self::curl('网址', '参数', true);

// 收到的数据需要转化一下

$json = json_decode($result);

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线