2012-10-06 47 views
0

我有一个简单的PHP脚本,用于在MySQL数据库表中搜索请求的关键字。不过,我正在尝试制作一个PHP脚本,因为URL会导入该页面并抓取“内容”ID中的所有内容。这可能吗?如果不是,我愿意使用JavaScript/jQuery。如何为我的自定义PHP搜索引擎将页面索引到MySQL

在此先感谢:)

让我知道如果你需要更多的澄清。

+1

当前标准的,这个问题是不是非常适合我们的问答形式。我们希望答案能够得到**事实,参考资料或具体的专业知识**的支持,但是这个问题可能会引发争论,争论,投票或扩大讨论。如果您认为此问题可以改进并可能重新打开,请参阅常见问题解答获取指导。 – iambriansreed

回答

0

是的,这是可能的,我会建议也许使用cURL。

然后你可以输入一个URL,它会抓取页面。

<?php 

$ch = curl_init('http://finance.google.com/finance'); 

curl_setopt($ch,CURLOPT_HEADER,0); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); // Give us the page source 

$cr = curl_exec($ch); 

preg_match_all('/href="()"/i',$cr,$pm,PREG_SET_ORDER); 

print_r($pm); 

foreach($pm as $pv) echo $pv[1] . "\r\n"; 

?> 

你会想编辑预浸匹配,以确保你得到你想要什么只,那么你可以把它分解出来,并插入到数据库中。

请注意,这不是非常有效的带宽。

1

您可能会发现这个扩展有用: http://www.php.net/manual/en/book.dom.php

下面的代码片段将返回元素的内容与ID =“内容”:

$url = 'http://www.example.com/'; 

    $doc = new DomDocument; 
    $doc->load($url); 

    $content_element = $doc->getElementById('content'); 
    $contents = $doc->saveXML($content_element); 
+0

我试过上面的代码,但是我运行脚本时收到以下错误-----警告:DOMDocument :: load()[domdocument.load]:I/O警告:未能加载外部实体 –

+0

我编辑了我的答案。给那个旋转。 – joadha

+0

我尝试了新的代码,但得到了一整页的错误值(我将它们复制到JSfiddle http://jsfiddle.net/Y3f23/)。同样在我的数据库中,内容条目仅替换为“<?xml version =”1.0“?>”。有任何想法吗? –