用javascript代码在php中刮网站

时间:2012-07-11 06:13:48

标签: php web-scraping

我需要刮掉这个网站,
 这是链接 makemytrip

你们中的任何人都可以指导我或者提示如何在php中删除它吗?

1 个答案:

答案 0 :(得分:0)

遵循以下方法:

页面到scarpe

  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
  <head> <title>This is the Title</title> 
<meta name="description" content="Meta Description" /> 
<meta name="keywords" content="Meta Keywords" /> 
    </head> 
  <body> 
   <ul>
<li><a href="link1.html">Link 1</a></li>
<li><a href="link2.html">Link 2</a></li>
<li><a href="link3.html">Link 3</a></li>
<li><a href="link4.html">Link 4</a></li>
<li><a href="link5.html">Link 5</a></li>
   </ul>
  </div> 
  </body>  

抓取方法

  <?php 
  $file_string = file_get_contents('page_to_scrape');
  preg_match('/<title>(.*)<\/title>/i', $file_string, $title);
  $title_out = $title[1];
  preg_match('/<meta name="keywords" content="(.*)" \/> /i', $file_string, $keywords);
  $keywords_out = $keywords[1];
  preg_match('/<meta name="description" content="(.*)" \/> /i', $file_string, $description);
  $description_out = $description[1];
  preg_match_all('/<li><a href="(.*)">(.*)<\/a><\/li>/i', $file_string, $links);
   ?>

   <p><strong>Title:</strong> <?php echo $title_out; ?></p>
   <p><strong>Keywords:</strong> <?php echo $keywords_out; ?></p>
   <p><strong>Description:</strong> <?php echo $description_out; ?></p>
    <p><strong>Links:</strong> <em>(Name - Link)</em><br />
    <?php
echo '<ol>';
for($i = 0; $i < count($links[1]); $i++) {
    echo '<li>' . $links[2][$i] . ' - ' . $links[1][$i] . '</li>';
}
echo '</ol>';
    ?>
    </p>