Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-简单的HTMLDOM解析器-如何从特定的表中获取数据?_Php_Web Scraping_Simple Html Dom - Fatal编程技术网

PHP-简单的HTMLDOM解析器-如何从特定的表中获取数据?

PHP-简单的HTMLDOM解析器-如何从特定的表中获取数据?,php,web-scraping,simple-html-dom,Php,Web Scraping,Simple Html Dom,我正试图从这里得到信息 我得到的信息是:城市、部门、萨拉雷等 现在我通过以下方式获得了这些信息: function curl_get_contents($url) { $curl_moteur = curl_init(); curl_setopt($curl_moteur, CURLOPT_URL, $url); curl_setopt($curl_moteur, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_moteur,CURL

我正试图从这里得到信息

我得到的信息是:城市、部门、萨拉雷等

现在我通过以下方式获得了这些信息:

function curl_get_contents($url)
{
  $curl_moteur = curl_init();
  curl_setopt($curl_moteur, CURLOPT_URL, $url);
  curl_setopt($curl_moteur, CURLOPT_RETURNTRANSFER, 1);

  curl_setopt($curl_moteur,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

  curl_setopt($curl_moteur, CURLOPT_FOLLOWLOCATION, 1);
  $web = curl_exec($curl_moteur);
  curl_close($curl_moteur);
  return $web;
}
    $url = curl_get_contents($url);
    $html_object = str_get_html($url);
这就是我正在使用的函数:

   function getCity($url)
    { global $html_object;   
    return $ret = $html_object->find('td', 86)->plaintext;
    }
此函数工作得很好,但问题是,此函数仅适用于当前确切的作业列表(20个作业),并且它必须能够处理数量不等于20个作业的作业

有人知道我怎么做吗


提前感谢。

我猜这不是作业数量的差异,而是在解析其他列表时遇到了错误。
->find('td',86)
要求使用第86个
td
元素。您可能想循环查看
->find('td')
函数的每个结果。我找不到第86个td,因为如果web中的某些内容发生更改,我的脚本将失败。我必须用另一种方法找到数据。为什么要传递$url,然后不使用它,然后使$html\u对象成为全局对象?这里有太多的错误,很难知道从哪里开始。