我是网络开发的新手。我在php中使用curl创建了一个Web爬虫。
我应该能够访问我网站中其他网站的特定数据。并且它不应该重定向到我提供的URL作为输入。我应该在我的网站本身访问它。比方说,我想从这个页面中提取特定数据https://shop.vodafone.in/shop/rechargeOffers.jsp 即查看所有充值 - >奖励卡 - >详情 - >详细数据弹出窗口。
我怎样才能实现它?
这是我的代码:
<?php
$url="https://shop.vodafone.in/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
$data = curl_exec ($ch);
curl_close ($ch);
// you can do something with $data like explode(); or a preg match regex to get the exact information you need
echo $data;
?>
非常感谢任何帮助。
提前致谢。
答案 0 :(得分:0)
使用symfony dom抓取工具:http://symfony.com/doc/current/components/dom_crawler.html
您可以使用编辑器安装或下载它。
来自文档的简单示例:
<?php
use Symfony\Component\DomCrawler\Crawler;
$html = <<<'HTML'
<!DOCTYPE html>
<html>
<body>
<p class="message">Hello World!</p>
<p>Hello Crawler!</p>
</body>
</html>
HTML;
$crawler = new Crawler($html);
foreach ($crawler as $domElement) {
print $domElement->nodeName;
}
//or something like this
$crawler = $crawler->filter('body > p');