Php 抓取站点并从HTML字符串获取数据

Php 抓取站点并从HTML字符串获取数据,php,laravel,web-crawler,goutte,Php,Laravel,Web Crawler,Goutte,我在项目中使用Laravel库来获取页面内容并对其进行爬网 我可以找到DOM结构的任何元素,除了我在标签中找到的重要内容之外 数据放在javascript变量中,我希望在不进行繁重字符串操作的情况下对其进行爬网。这种情况的典型例子 $html="var article_content = "Details article string"; var article_twtag = "#Madrid #Barcelona"; var article_twtitle = "Article title"

我在项目中使用Laravel库来获取页面内容并对其进行爬网

我可以找到DOM结构的任何元素,除了我在
标签中找到的重要内容之外

数据放在javascript变量中,我希望在不进行繁重字符串操作的情况下对其进行爬网。这种情况的典型例子

$html="var article_content = "Details article string";
var article_twtag = "#Madrid #Barcelona";
var article_twtitle = "Article title"; 
var article_images = new Array (
"http://img.sireasas.com/?i=reuters%2f2017-03-08%2f2017-03-
08t200344z_132005024_mt1aci14762686_rtrmadp_3_soccer-champions-fcb-
  psg_reuters.jpg","",
"0000000000115043","",
"");";

有没有办法使用选择器或DOM方法对javascript进行爬网?

我要做的是,获取
脚本
标记中存在的内容,然后通过正则表达式提取我想要的任何内容

$doc = new DOMDocument();
$doc->loadHTML($yoursiteHTML);
foreach($doc->getElementsByTagName('script') as $content) {
    // extract data
}
Goutte只接收HTML响应,不会像浏览器那样运行Javascript代码来获取动态数据。

使用

$html=file\u get\u html('http://www.your-link-here.com/');
//查找所有脚本
foreach($html->find('script')作为$element)
echo$element->outertext
';
我没有测试,但我想是的。
$html = file_get_html('http://www.your-link-here.com/');

// Find all scripts 
foreach($html->find('script') as $element) 
       echo $element->outertext . '<br>';