网页抓取php特定div

时间:2020-06-17 03:10:42

标签: php web-scraping preg-match file-get-contents

首先,我知道有很多与此相关的主题,但是我都没有找到解决方案。 我的问题是以下,我想使用“ file_get_contents” 2数据从div中具有相同名称的站点中提取php。 我需要提取数据,然后使用PHP为每个变量分配一个特定的变量。 无论如何,这是不返回任何内容的代码段。

$htmlOficial = file_get_contents('https://www.dolarhoy.com/cotizaciondolaroficial');
preg_match('/<tr><td><a href="#">Banco Nacion</a></td><td class="number">(.*)</td>/', 
$htmlOficial, $ventaOficial);
preg_match('/<tr><td><a href="#">Banco Nacion</a></td><td class="number"></td> <td class="number">(.*)</td>
            </tr>/', 
$htmlOficial, $compraOficial);
$ventaOficial = $ventaOficial[1];
$compraOficial = $compraOficial[1];

该站点为https://www.dolarhoy.com/cotizaciondolaroficial,在“实体”框中显示“ Banco Nacion”。我需要一方面提取“购买”,另一方面提取“销售”的数据

1 个答案:

答案 0 :(得分:0)

现在已成功测试。有时越简单越好。分而治之,使用explode和一个函数从另外两个字符串之间的文本中抓取一个字符串(在您的情况下,您希望表列的内容具有“ number”类和close列标记(td))。

if (snapshot.hasData && !snapshot.hasError) {
   return Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: showImage(),
            ),
          );
        }),
} else {
   return Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children:  _showCircularProgress(),,
            ),
          );
        }),
}

请告诉我它是否有效。