我是jquery的新手,请建议我一个简单易学的代码,用于查找外部网站中的所有链接,而不是使用JQuery我正在尝试使用的代码urls = $$('a'); for (url in urls) console.log(urls[url].href);
但它只适用于我们在我们想要获取链接的页面上,我也可以更喜欢php但不是那么复杂或更简单我想说如何使用JQuery或超文本预处理器[PHP]创建一个Web Spider,就像Google制作的那样。
答案 0 :(得分:2)
如果没有访问,你不能这样做。至少您可以在服务器端使用CURL解析页面内容,并将它们回显给您的客户端浏览器。 您可以使用phpQuery从html内容中获取所有链接。
1. https://code.google.com/p/phpquery/downloads/list - phpQuery-onefile and extract it to public directory. for example create a folder "parsers" in public and put it there.
2. create get-urls.php file and put it to parsers directory in public directory (near with phpquery)
<?php
require_once('phpQuery-onefile.php');
$document = phpQuery::newDocumentFileHTML($_GET['url'], $charset = 'utf-8');
$links = $document->find('a');
$result = array();
foreach ($links as $link) {
$href = pq($link)->attr('href');
$result[] = $href;
}
echo json_encode($result);
3. at clientside (on page where you want to get links) call your serverside script and pass your url and get answer
<script>
$(function(){
$.get('http://yourserver.com/parsers/get-urls.php', {'url': 'some_url_here'}, function(response){
response = $.parseJSON(response);
for(var r in response) {
var link = response[r];
console.log(link);
}
});
});
</script>