2015-07-08 9 views
2

Я пытаюсь очистить https://www.freelance.nl/opdrachten/zoeken для данных с использованием запроса и Cheerio, но я столкнулся с проблемами размещения условий поиска.Как найти, где хранятся параметры формы и использовать их в запросе

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

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

До сих пор у меня есть это:

request.post('https://www.freelance.nl/opdrachten/zoeken', { form: { key: 'value' } }, 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(body) 

     } 
    } 
); 

Но как я не могу видеть, где данные формы хранятся в Дев инструментов, я не могу послать правильные значения в «форме» объекта. Я почти уверен, что это в полезной нагрузке запроса, но как мне добраться до этого из моего приложения-узла?

Есть ли более простой способ сделать это? Я полностью теряю время?

Dev tools screenshot

ответ

0

Открой глаза;) На нижней части изображения, смотрите на Request Payload

projectFilterForm[keywords] 
projectFilterForm[category][] 
projectFilterForm[province][] 

Update

var request = require('request'); 
var querystring = require('querystring'); 

require('request').debug = true; 

var data = querystring.stringify({ 
    'projectFilterForm[keywords]': 'java' 
}); 

var options = { 
    followAllRedirects: true, 
    uri: 'https://www.freelance.nl/opdrachten/zoeken', 
    method: 'POST', 
    headers: { 
     'Content-Length': Buffer.byteLength(data), 
     'cache-control': 'no-cache', 
     'Content-Type': 'multipart/form-data', 
     'origin': 'https://www.freelance.nl', 
     'referer': 'https://www.freelance.nl/opdrachten/zoeken', 
     'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36' 
    } 
}; 

var req = request(options, function (error, response, body) { 
    console.log(body); 
}); 

req.write(data); 
req.end(); 

Я попробовал все =)) Ничего. .. после перенаправления мы получаем страницу по умолчанию. Может быть, они используют защиту от сеансов?

Это не проблема узла. Я пытался сделать это даже в почтовом расширении хром без везения.

+0

Да, я вижу это, но я не уверен, как это получить от моего приложения-узла :( – user2248441

+0

Чтобы получить его? Вы хотите «отправить» его своим приложением узла? Эмулировать щелчок пользователя для отправки формы? –

+0

Да это, извините, отсутствие кофе и усталость = плохие объяснения – user2248441

0

Я slighly Изменив код:

payload = {'projectFilterForm[keywords]':'javascript','projectFilterForm[category][]': '1'} 
request.post('https://www.freelance.nl/opdrachten/zoeken', { data:payload }, 
function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body) 
    } 
} 

);

+0

Это не помогло. Все еще возвращает мне тот же html в переменной body, как если бы я hasn 't вводил данные любой формы вообще – user2248441

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

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