通过curl从一个页面解析url,循环curl_init(url)并遍历它们并获得div块

时间:2017-03-24 12:53:36

标签: php html parsing curl

我需要通过curl解析一个页面,获取网址,再次通过已解析的网址,使用每个网址并获取div块。

例如:

  1. optnow.ru/catalog - 带有目录网址的页面,获取与“cat-name”相关的链接'上课并添加'?page = 0'查看所有没有导航的产品

  2. 浏览每个目录的网址,使用课程' link-pv-name'

  3. 解析产品的网址
  4. 浏览每个已解析的产品的网址并解析' .description div p'元件。
  5. 如果我使用curl,而不是简单的html dom'它会很好,因为我试过使用这个库,并且在n次之后我得到了503或504错误。

    当我使用此代码时

    $curl = curl_init('http://optnow.ru/catalog/');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    $html = curl_exec($curl);
    curl_close($curl);
    
    $doc = new DOMDocument();
    $doc->loadHTML($html);
    $xpath = new DOMXpath($doc);
    $elements = $xpath->query("/div[@class='cat-name']/a");
    print_r($elements);
    

    我正在

    Warning: DOMDocument::loadHTML(): Tag header invalid in Entity, line: 100
    Warning: DOMDocument::loadHTML(): Tag figure invalid in Entity, line: 102
    Warning: DOMDocument::loadHTML(): htmlParseEntityRef: expecting ';' in Entity, line: 107
    Warning: DOMDocument::loadHTML(): Tag footer invalid in Entity, line: 268
    

0 个答案:

没有答案