2015-06-24 2 views
0

Я работаю с узлом phantom simple https://github.com/baudehlo/node-phantom-simple. Это сделало изглаживание дома очень простым. Мне разрешено использовать jquery, и я попадаю в библиотеку таблиц данных.Использование jquery для перемещения объекта для скремблирования данных

Вот код, который я начал с

var nameArray = []; 

     $("tbody[role='alert'] tr").each(function(data){ 
       var json = {}; 
       json.name= $(this).children(':first-child').text(); 
       json.size= $(this).children(':nth-child(2)').text(); 
       json.caffeine= $(this).children(':nth-child(3)').text(); 
       json.mgFloz=$(this).children(':last-child').text(); 
      nameArray.push(json); 
     }); 

     // return tableData; 
      return nameArray; 

Я возвращаю все данные с веб-сайта, что я Царапины. Внутри каждой таблицы находится формат

<td><a href="">name of drink</a></td> 
<td>info</td> 
<td>info</td> 
<td> info</td> 

Я ищу доступ к напитку href. Таким образом, я попытался предназначаться HTML-

json.url=$(this).children(':first-child').html(); 

I мой ответ

{ url: '<a href="/caffeine-content/zombie-blood-energy-potion">Zombie Blood Energy Potion</a>' } 

Это близко. Все, что я хочу, это href, и я закончу. Я попытался настроить таргетинг с помощью attr(), но я все время возвращался обратно.

Есть ли у меня какой-то шаг или что-то не работает?

ответ

1

Вы близко, но вам нужно пройти еще один слой DOM. Используйте find():

json.url = $(this).children(':first-child').find('a').attr('href'); 

Для name собственности, вы можете использовать аналогичный подход:

json.name = $(this).children(':first-child').find('a').text(); 
+0

Огромное спасибо! Я получил href. – Winnemucca

+0

@stevek проблем нет. Обратите внимание, что строка, которую вы показали нам в примере, который вы используете для свойства 'url', - это точно такая же строка, которую вы используете для свойства' name' выше этого. Это означает, что ваше значение 'name' будет полным HTML-кодом для' a' внутри первого 'td'. Вы должны использовать мой пример, чтобы получить часть «название напитка». – jwatts1980

+0

@stevek Пожалуйста, не забудьте отметить это как ответ, если он ответил на ваш вопрос. Благодаря! – jwatts1980

 Смежные вопросы

  • Нет связанных вопросов^_^