2017-01-30 21 views
1

Вот что я пытаюсь выполнить. Я могу быстро очистить веб-страницу, а затем извлечь необходимую мне информацию, и я уже запустил ее на нескольких веб-сайтах, где ссылки на страницы доступны в атрибуте href. Мой вопрос, как перейти к следующей странице, когда переменная пагинация динамична:динамические ссылки в nodejs/cheerio/x-ray

<ul> 
    <li> 
     <a class="clickPage" href="javascript:previousPage()">1</a> 
    </li> 
    <li> 
     <a class="clickPage active" href="javascript:currentPage()">2</a> 
    </li> 
    <li> 
     <a class="clickPage" href="javascript:nextPage()">Next Page</a> 
    </li> 

До сих пор, как код здесь, что я работал на других сайтах

var request = require('request'),  // simplified HTTP request client 
    cheerio = require('cheerio'),  // lean implementation of core jQuery 
    Xray = require('x-ray'),   // 
    x = Xray(), 
    fs = require('fs');     // file system i/o 

/* 
    TODO: Make this feature dynamic, to take in the URL of the page 
    var pageUrl; 
*/ 

var status = 'for sale'; 
var counter = 0; 

x('http://www.example.com/results/1', '.results', [{ 
    id: '[email protected]', // extracts the value from the attribute id 
    title: 'div.info h2', 
    category: 'span.category', 
    price: 'p.price', 
    count: counter+1, // why doesnt this update? this never shows in the json 
    status: status  // this value never shows up in the json 
}]) 
    .paginate(whatShouldThisBe) 
    .limit(800) 
    .write('products.json'); 

Также значение счетчика и статус никогда не отображается в созданном файле JSON. Не уверен, что я делаю неправильно здесь, но определенно буду признателен за любую помощь.

Спасибо!

ответ

0

Вы пытались с .paginate('ul li:nth-child(3) [email protected]')?

Таким образом, вы получаете третий <li> в <ul>.

+0

Спасибо, что сообщили мне. Я попытался это: '.paginate ('уль Ли: п-й ребенком @ HREF')' Однако я заметил, что вы опустили значение атрибута ("@href"). Есть ли причина, по которой это было сделано? Просто нежное напоминание, ссылки создаются «на лету» (onClick). – johnanish

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

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