我正在从 wiki 页面获取数据。我正在使用php
和的组合jquery
来做到这一点。首先,我使用curl
inphp
来获取页面内容并回显内容。文件名是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