Symfony 的 DomCrawler 没有找到特定的标签

Symfony's DomCrawler does not find a specific tag

我正在使用 DomCrawler 从 Google Play 页面获取数据,它在 99% 的情况下都有效,除了我偶然发现一个无法找到特定 div 的页面。我检查了 HTML 代码,它确实存在。我的密码是

$autoloader = require __DIR__.'\vendor\autoload.php';
use Symfony\Component\DomCrawler\Crawler;

$app_id = 'com.balintinfotech.sinhalesekeyboardfree';

$response = file_get_contents('https://play.google.com/store/apps/details?id='.$app_id);
$crawler = new Crawler($response);
echo $crawler->filter('div[itemprop="datePublished"]')->text();

当我 运行 那个特定页面时,我得到

PHP Fatal error: Uncaught InvalidArgumentException: The current node list is empty.

但是,如果我使用任何其他 ID,我会得到想要的结果。那个破坏 DomCrawler

的页面究竟是什么

如您所见,这不会发生在英语版本中,但会发生在西班牙语版本中。

我能发现的一个区别是一位用户的评论说 නියමයි ඈ。那里似乎有什么东西在困扰着 Crawler。如果您用空字符串替换 null 字符 (\x00),它会正确获取您要查找的内容:

<?php
$app_id = 'com.balintinfotech.sinhalesekeyboardfree';
$response = file_get_contents('https://play.google.com/store/apps/details?hl=en&id='.$app_id);
$response = str_replace("\x00", "", $response);
$crawler = new Symfony\Component\DomCrawler\Crawler($response);
var_dump($crawler->filter('div[itemprop="datePublished"]')->text()); // string(14) "March 14, 2017"

我会尝试对此进行更多研究。