使用文件获取内容在php中进行屏幕扫描

使用文件获取内容在php中进行屏幕扫描,php,screen,screen-scraping,Php,Screen,Screen Scraping,嗨,我是一个非常新的屏幕刮。我正试图从酒店预订网站上搜集评论,并将其显示在我的网站上 我走了这么远,但有点卡住了。有人能帮忙吗 <?php $data = file_get_contents('http://www.laterooms.com/en/hotel-reviews/238902_the-westfield-bb-sandown.aspx'); $regex = '/<div id="summary"> (.+?)</div>/'; preg_match

嗨,我是一个非常新的屏幕刮。我正试图从酒店预订网站上搜集评论,并将其显示在我的网站上

我走了这么远,但有点卡住了。有人能帮忙吗

<?php 
$data = file_get_contents('http://www.laterooms.com/en/hotel-reviews/238902_the-westfield-bb-sandown.aspx');
$regex = '/<div id="summary">
(.+?)</div>/';
preg_match($regex,$data,$match);
var_dump($match); 
echo $match[1];
?>

使用



此外,对于更复杂的查询,您应该考虑查看(使用jQuery类似的语法)

询问他们是否有API,否则,他们可能不希望你接受他们的评论。抓屏不是一个好主意。你正在抓屏的网站内容在语义和内部结构方面不断变化,你的网站会到处崩溃,让它看起来很糟糕。此外,您可能会遇到法律问题。最好像Jleagle建议的那样,寻找带有API或RSS或其他联合方式的网站/服务。任何与html+regexes相关的标准答案:我是本网站的附属机构。他们的api目前不支持客人评论,我有权限刮我只是不知道怎么做可能重复感谢你的回复!这似乎返回了几个错误:警告:DOMDocument::loadHTML()[DOMDocument.loadHTML]:HTMLParserEntityRef:应为“;”在实体中,第377行的/homepages/************/hotel.php中的第9行警告:DOMDocument::loadHTML()[DOMDocument.loadHTML]:htmlParseEntityRef:应为“;”在实体中,第377DOMELENT::uu_set_state(数组())行/homepages/28/d282373443/htdocs/eurobooker/hotel.php中的第9行取决于正在加载的文件是否有错误。有不同的加载方法:loadHTML、loadXML、load。检查它们并尝试简单的示例,看看这是否是您所需要的功能。当你掌握了它,你可以将它应用到一个真正的实时网页上,但是一般来说,它必须是有效的HTML,以便warkI将其更改为加载。。现在没有错误了。。它只打印空值
<?php
  define('URL', 'http://www.laterooms.com/en/hotel-reviews/238902_the-westfield-bb-sandown.aspx');
  $doc = new DOMDocument();
  $doc->loadHTML(file_get_contents(URL));
  $summary = $doc->getElementById('summary');
  // also have $doc->getElementsByTagName , etc
  var_export($summary);
?>