繁体   English   中英

获取PHP卷曲错误

[英]Getting Php Curl Error

我想获取该URL传递给我作为参数..的任何URL的前10个结果,并且我想对某些站点进行数据抓取

当我在此行的屏幕上显示语法错误结果时出现语法错误,我不明白为什么它给我语法错误对我有帮助。

print_r($ dse-> crawl()-> parse());

<?php               
      class CURL_CRAWLER{
      public $url;
      public $request_type;
      public $data;
      public $post_params;

  function __construct($url = '' , $request_type = 'GET')
  {
     $this->url = $url;
     $this->request_type = $request_type;
     $this->data = '';
     $this->post_params = array();
   }
/**crawl a document **/
 function crawl()
   {
    $curl = curl_init( $this->url );
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_TIMEOUT, 60);
    curl_setopt($curl, CURLOPT_USERAGENT, 'cURL PHP');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $this->data = curl_exec($curl);
    curl_close($curl);
    return $this; //make it a chainable method
   }
/** Parse result data **/
   function parse(){
   $result = array();
   $count = 0;
   $dom = new DOMDocument;
   $dom->preserveWhiteSpace = false;
   $dom->loadHTML($this->data);
   $xpath = new DOMXPath($dom);
   $news = $xpath->query('//td[@bgcolor="#DDDDDD"]/table/tr[position()=2]/td[position()=2]');
   foreach( $news as $n){
       $result[] =   $n->nodeValue;
       $count++;
       if ($count >9)
           break; //we just need  10 results. Index starts from 0
   }
   return $result;
      }
    }
 error_reporting(0);
        $dse = new CURL_CRAWLER('http://www.dsebd.org/display_news.php');
    echo "<pre>";
    print_r( $dse-&gt;crawl()-&gt;parse() );
    echo "<pre>";

   ?>

您的语法错误是您应该使用显式的“大于”符号,而不是HTML实体&gt; -服务器不需要这些,它不是可以正确呈现它的浏览器。 只是改变:

print_r( $dse-&gt;crawl()-&gt;parse() );
              ^^^^        ^^^^

至:

print_r( $dse->crawl()->parse() );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM