【问题标题】:Recvoring prices from a site?从网站恢复价格?
【发布时间】:2016-05-18 15:41:01
【问题描述】:

我正在网站上恢复价格

这是我的 php 代码

<?php 

$adresse1 = "http://fr.camping-and-co.com/location-camping-angles-85750?           pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order=";
   $page1 = file_get_contents ($adresse1); // récupérer le contenu de la          page      
   preg_match_all('/partir de(.*)€/',$page1,$matches);  

      for($i=0;$i<count($matches[0]);$i++) 
    {
     echo "====================>".$matches[0][$i];   
      echo "</br>" ;
   }

  ?>    

网站中有一些价格被删除并且不遵守我在表达规则中设置的规则的问题

这里是网站: http://fr.camping-and-co.com/location-camping-angles-85750?pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order=

我要收回所有价格!

但是这个脚本以这种格式恢复所有价格:

 à partir de 639 € / 7 nuits

但不是这种格式的:

 à partir de -20% 729 € 585 € / 7 nuits 

【问题讨论】:

  • 您需要partir de(.*?)€吗?
  • @rock321987 我需要恢复网站中的所有价格,例如 639、585 因为 729 已删除
  • 这是网站:
  • 使用 DOMDocument 和 DOMXPath,而不是正则表达式。

标签: php regex preg-match file-get-contents preg-match-all


【解决方案1】:

您应该使用 DOMDocument 而不是正则表达式,并通过选择所有具有匹配 css 类 price 的价格来查找要检索的价格:

$adresse1 = "http://fr.camping-and-co.com/location-camping-angles-85750?pagination=18&_ct=1&_rg=118&_dpt=all&_dt=7&_st=09%2F07%2F2016&_hbc=1&_pn=all&chx=&ox=&ctxy=46.387539%2C-1.399005%2C40&rgx=&stx=&scx=&thx=&pmin=1&pmax=6000&page=1&tri=&order=";
$doc = new DOMDocument();
$doc->loadHTMLFile($adresse1);
$xpath = new DOMXpath($doc);
$elements = $xpath->query('//*[@class="price"]');

/** @var DOMElement $price */
foreach ($elements as $price) {
    echo "====================>" . $price->textContent;
    echo "</br>\n";
}

【讨论】:

  • 它正在工作@joachim Schirrmacher thx 但它告诉我====================>528€ ======= =============>606€€到底要怎么删除这个
  • 你得到一个空的价格标签作为最后一个条目?这很奇怪,因为页面上没有这样的元素。您是否有显示脚本输出的公开可用 url?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 2013-06-13
  • 2019-01-31
  • 1970-01-01
相关资源
最近更新 更多