Kri*_*pak 25 jquery web-crawler find
我正在努力从维基页面获取数据.我正在使用php
和jquery
执行此操作的组合.首先我使用curl
在php
抓取页面内容,并呼应的内容.文件名是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);
Run Code Online (Sandbox Code Playgroud)
然后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();
});
Run Code Online (Sandbox Code Playgroud)
我能够成功获取图像但是当我使用find而不是filter时,它变量ent,它返回一个空数组.只有过滤器正常工作.为什么是这样?
编辑:我知道查找和过滤器之间的基本区别.这里的两个a.image img
和a.urlmax
都是hdata
.那么为什么发现不起作用a.urlmax
.不仅仅是a.urlmax
它不适用于任何其他类或id
Jer*_*ere 27
.find() http://api.jquery.com/find/
获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤.
另一方面,过滤器适用于当前匹配的元素.这就是为什么过滤器工作但找不到(你需要查看当前元素)的原因.
归档时间: |
|
查看次数: |
20404 次 |
最近记录: |