如何使用cURL读取html正文内容


how to read html body content using cURL

我使用以下代码使用php从请求的页面获取响应

$ch = curl_init('http://myPageURL/');
curl_setopt($ch, CURLOPT_HEADER, 1);
$c = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); 

这里的响应显示标题和其他信息,包括正文内容。但我只需要主体内容作为响应,那么代码是什么呢?

提前感谢

$ch = curl_init('http://myPageURL/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
$result = curl_exec($ch);
echo $result;

这将给出内容,我在结果变量中添加了内容,并添加了一些设置,以确保在您要访问的页面重定向到另一个页面时收到内容。

由于您只对body标签感兴趣,因此可以执行以下操作:

  <?php
     $response = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
     $start = stripos($response, "<body");
     $end = stripos($response, "</body");
     $body = substr($response,$start,$end-$start);
  ?>

这只是一个如何做到这一点的快速示例。但请注意,一个页面中可能有多个body标记(如果使用iframe)。body标记也可以包含属性。