пятница, 31 октября 2014 г.

Парсер yandex

Пишу этот пост чтобы понять на сколько популярна эта тема. И естественно выложить минимально работающую версию парсера yandex.
Вот результат его работы


для его работы установите casperjs

создайте файл со следующим содержимым
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var casper = require('casper').create();
var k_word = "";
var k_words = [
 "тест",
 "поиск",
 "Программы для парсинга",
]
  
casper.start('http://www.yandex.ru/', function() {
    this.wait(getRandomInterval(700, 2000), function() {
        this.echo("load yandex");
    });
});
  
for(var i, i=0; i<k_words.length; i++ ){
 casper.then(function() {
  this.wait(getRandomInterval(700, 2000), function() {
   k_word = k_words.shift();
   this.sendKeys('input[name="text"]', k_word);
  });
 });
 casper.then(function() {
  this.wait(getRandomInterval(700, 2000), function() {
   this.click('button[type="submit"]');
   this.echo("start find");
  });
 });
 casper.then(function() {
  casper.waitForSelector('.serp-block', function() {
   this.echo('find in yandex');
   this.capture(k_word + " " + 'yandex.png');
  });
 });
  casper.then(function() {
    this.wait(getRandomInterval(1000, 2000), function() {
      this.click('.input__clear_visibility_visible');
    });
  });
}
casper.run();
 
function getRandomInterval(min, max) {
    return Math.random() * (max - min) + min;
}

Запускаем парсер командой casperjs имя файла
PHP: The Right Way блог програмышки
Яндекс.Метрика