Я работаю над извлечением данных из страниц вики. Для этого я использую комбинацию 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);
Затем 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 вместо фильтра, и возвращает пустой массив. Работает только фильтр. Почему это?
Изменение: я знаю основное различие между поиском и фильтром. Здесь оба a.image img
и a.urlmax
являются hdata
. Тогда почему find не работает на a.urlmax
. Не только a.urlmax
он не работает ни на каком другом классе или в id