Ответы пользователя по тегу Парсинг
  • Как спарсить заголовки вопросов с сервиса otvet.mail.ru?

    dummyman
    @dummyman
    диссидент-схизматик
    Держи готовый код для каспера:
    // test.js
    var links = [];
    var casper = require('casper').create();
    
    function getLinks() {
        var links = document.querySelectorAll('.pageQuestions .q--li a.q--li--text');
        return Array.prototype.map.call(links, function(e) {
            return e.innerHTML;
        });
    }
    
    casper.start('https://otvet.mail.ru/', function() {
       this.waitForSelector('.pageQuestions');
    });
    
    casper.then(function() {
        links = this.evaluate(getLinks);
    });
    
    casper.run(function() {
        this.echo(links.length + ' links found:');
        this.echo(' - ' + links.join('\n - ')).exit();
    });


    Запускаем:
    $ casperjs ./test.js

    Получаем:
    20 links found:
     - Зачем охотники водку с собой берут на охоту ?
     - Нужно ли объяснять происхождение денег при покупке квартиры? Речь о 8-9 миллионах рублей.
     - Как не грустить в такое дождливое лето? как ни крути - а погода влияет на настроение...
     - Я русская, но живу в Дагестане. И вот в школе дети-дагестанцы издевались и унижали меня из-за моей нации
     - У вас есть вера в то, что Путин начнет приносить пользу как это было еще лет 5 назад? Или только хуже и хуже будет?
     - Я карлик ростом 165 см как дальше жить? Что делать? Немогу больше так
     - А если ты пополнил стим кошелёк меньше 150 рублей, нечего не будет, никаких банов?
     - Как сами считаете, Вам идёт Ваше имя? Или какое другое было бы уместнее? ;-)
     - В России власть обязана быть Царем, Богом и Воинским начальником это не наша привычка к рабству а счастье быть империей?
     - Рыжая из гарри поттера, как актрису зовут?
     - Что будите делать, если каждый день - воскресенье? (и так до конца жизни)
     - Стучат копыта по асфальту. Кромешники скачут- подковами звеня. Опричники в чёрных кафтанах с собачьими головами .
     - hola недоступна прямо сейчас но мы работаем над этим что делать?
     - Где можно скачать мультфильм Галактический футбол в формате mp4? На телефон.
     - Как назвать канал на ютубе? Ребята помогите назвать канал на ютуб имя (Шахзада)
     - Есть фильмы похоже на Аутласт или на Палату
     - C каким философом вы бы себя сравнили и почему?
     - Опять о Минске, насчёт бензина.
     - Как ухаживать за проколотым носом?
     - Какой сценарический наряд красивее?
    Ответ написан
    8 комментариев
  • Чем запарсить сотню страниц?

    dummyman
    @dummyman
    диссидент-схизматик
    Уже писал где-то

    Тут может помочь каспер
    docs.casperjs.org/en/latest/quickstart.html#now-le...

    var links = [];
    var casper = require('casper').create();
    
    function getLinks() {
        var links = document.querySelectorAll('h3.r a');
        return Array.prototype.map.call(links, function(e) {
            return e.getAttribute('href');
        });
    }
    
    casper.start('http://google.fr/', function() {
       // Wait for the page to be loaded
       this.waitForSelector('form[action="/search"]');
    });
    
    casper.then(function() {
       // search for 'casperjs' from google form
       this.fill('form[action="/search"]', { q: 'casperjs' }, true);
    });
    
    casper.then(function() {
        // aggregate results for the 'casperjs' search
        links = this.evaluate(getLinks);
        // now search for 'phantomjs' by filling the form again
        this.fill('form[action="/search"]', { q: 'phantomjs' }, true);
    });
    
    casper.then(function() {
        // aggregate results for the 'phantomjs' search
        links = links.concat(this.evaluate(getLinks));
    });
    
    casper.run(function() {
        // echo results in some pretty fashion
        this.echo(links.length + ' links found:');
        this.echo(' - ' + links.join('\n - ')).exit();
    });


    Запускаем
    $ casperjs googlelinks.js

    Получаем
    20 links found:
     - https://github.com/casperjs/casperjs
     - https://github.com/casperjs/casperjs/issues/2
     - https://github.com/casperjs/casperjs/tree/master/samples
     - https://github.com/casperjs/casperjs/commits/master/
     - http://www.facebook.com/people/Casper-Js/100000337260665
     - http://www.facebook.com/public/Casper-Js
     - http://hashtags.org/tag/CasperJS/
     - http://www.zerotohundred.com/newforums/members/casper-js.html
     - http://www.yellowpages.com/casper-wy/j-s-enterprises
     - http://local.trib.com/casper+wy/j+s+chinese+restaurant.zq.html
     - http://www.phantomjs.org/
     - http://code.google.com/p/phantomjs/
     - http://code.google.com/p/phantomjs/wiki/QuickStart
     - http://svay.com/blog/index/post/2011/08/31/Paris-JS-10-%3A-Introduction-%C3%A0-PhantomJS
     - https://github.com/ariya/phantomjs
     - http://dailyjs.com/2011/01/28/phantoms/
     - http://css.dzone.com/articles/phantom-js-alternative
     - http://pilvee.com/blog/tag/phantom-js/
     - http://ariya.blogspot.com/2011/01/phantomjs-minimalistic-headless-webkit.html
     - http://www.readwriteweb.com/hack/2011/03/phantomjs-the-power-of-webkit.php
    Ответ написан
  • Как лучше парсить messages?

    dummyman
    @dummyman
    диссидент-схизматик
    За парсинг текстовых файлов в linux отвечает awk
    Есть хорошая книга.
    Ответ написан
    Комментировать
  • Как перехватить websocket-соединения?

    dummyman
    @dummyman
    диссидент-схизматик
    slimerjs.orgдля пошаговости действий можно использовать совместно с casperjs.org .
    ну а управлять этим хозяйством пошагово можно хоть с nodejs, хоть с python через stdin, получать данные через stdout
    Ответ написан
    Комментировать
  • Парсинг Яндекс.Поиск - как отправить каптчу?

    dummyman
    @dummyman
    диссидент-схизматик
    Во первых, Хром, Хромиум, Сафари посылают уникальный id запроса в заголовочниках, как User-Agent лучше использовать Фаирлис. А в остальном могу лишь посоветовать скриптовые браузеры CasperJS, PhantomJS или SlimerJS. Они по-идее глубже эмулируют процесс человекоприсутствия

    Вот например парсинг выдачи гугла
    docs.casperjs.org/en/latest/quickstart.html
    Ответ написан
    Комментировать