我有一个简单的PHP脚本,用于在MySQL数据库表中搜索请求的关键字。不过,我正在尝试制作一个PHP脚本,因为URL会导入该页面并抓取“内容”ID中的所有内容。这可能吗?如果不是,我愿意使用JavaScript/jQuery。如何为我的自定义PHP搜索引擎将页面索引到MySQL
在此先感谢:)
让我知道如果你需要更多的澄清。
我有一个简单的PHP脚本,用于在MySQL数据库表中搜索请求的关键字。不过,我正在尝试制作一个PHP脚本,因为URL会导入该页面并抓取“内容”ID中的所有内容。这可能吗?如果不是,我愿意使用JavaScript/jQuery。如何为我的自定义PHP搜索引擎将页面索引到MySQL
在此先感谢:)
让我知道如果你需要更多的澄清。
是的,这是可能的,我会建议也许使用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";
?>
你会想编辑预浸匹配,以确保你得到你想要什么只,那么你可以把它分解出来,并插入到数据库中。
请注意,这不是非常有效的带宽。
您可能会发现这个扩展有用: 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);
我试过上面的代码,但是我运行脚本时收到以下错误-----警告:DOMDocument :: load()[domdocument.load]:I/O警告:未能加载外部实体 –
我编辑了我的答案。给那个旋转。 – joadha
我尝试了新的代码,但得到了一整页的错误值(我将它们复制到JSfiddle http://jsfiddle.net/Y3f23/)。同样在我的数据库中,内容条目仅替换为“<?xml version =”1.0“?>”。有任何想法吗? –
当前标准的,这个问题是不是非常适合我们的问答形式。我们希望答案能够得到**事实,参考资料或具体的专业知识**的支持,但是这个问题可能会引发争论,争论,投票或扩大讨论。如果您认为此问题可以改进并可能重新打开,请参阅常见问题解答获取指导。 – iambriansreed