如何搜索html文件中的简单字符串?

时间:2011-08-22 21:16:34

标签: php web-scraping

Consider this link from Amazon.

如果您注意到,每个卖家都有此块(至少类似):

<a href="http://www.amazon.com/shops/AN8LN2YPKS7DF/ref=olp_merch_name_2">
<img src="http://ecx.images-amazon.com/images/I/41UQmT7-XyL.jpg" width="120" alt="DataVision Computer Video" height="30" border="0" />
</a> //and other junk

我想在此页面中搜索http://ecx.images-amazon.com/images/I/41UQmT7-XyL.jpg,这是卖家图片(我已经有了链接)。我只是想知道搜索是否产生了结果。我甚至不需要知道更多。这可能吗?我怎么能用PHP做到这一点?

3 个答案:

答案 0 :(得分:4)

您可以使用strpos()

$url = "http://www.example.com/";
$html = file_get_contents($url);
if (strpos($html, "http://ecx.images-amazon.com/images/I/41UQmT7-XyL.jpg") !== false) {
  // found
} else {
  // not found
}

答案 1 :(得分:1)

如果您只是想知道某个特定字符串是否存在,请使用strpos()

if (strpos($html_goes_here, 'http://ecx.blahblah.jpg') !== FALSE)) {
   ... image is present ...
}

请注意使用严格比较运算符,根据链接文档页面上的警告。

答案 2 :(得分:1)

我在评论中混合了params,你想知道如何加载URL的HTML:

$url = "http://rads.stackoverflow.com/amzn/click/B00519RW1U";
$html = file_get_contents($url);
$found = false !== strpos($html, 'src="http://ecx.images-amazon.com/images/I/41UQmT7-XyL.jpg"');