【发布时间】:2012-04-30 05:07:32
【问题描述】:
我正在从 wiki 页面获取数据。我正在使用php 和jquery 的组合来执行此操作。首先,我在php 中使用curl 来获取页面内容并回显内容。文件名为content.php:
$url = $_GET['url'];
$url = trim($url," ");
$url = urldecode($url);
$url = str_replace(" ","%20",$url);
echo "<a class='urlmax'>".$_GET['title']."</a>";
echo crawl($url);
然后jQuery 用于查找匹配的元素。
$.get("content.php",{url:"http://en.wikipedia.org/w/index.php?action=render&title="+str_replace(" ","_",data[x]),title:str_replace(" ","_",data[x])},function(hdata){
var imgs = $(hdata).find('a.image img');
var ent = $(hdata).filter('a.urlmax');
ent = $(ent[0]).text();
});
我能够成功获取图像,但是对于变量 ent,当我使用 find 而不是 filter 时,它返回一个空数组。只有过滤器在工作。这是为什么呢?
编辑:我知道查找和过滤之间的基本区别。这里a.image img 和a.urlmax 都是hdata 的后代。那为什么 find 在a.urlmax 上不起作用。不是 a.urlmax 单独它不适用于任何其他类或 id
【问题讨论】:
标签: jquery find web-crawler