PDA

Просмотр полной версии : [Куплю] Способ,которым можно спарсить результат с сайта ЯД.wordstat(С#)


малина
16.06.2014, 20:12
Задание

Язык программирования: C#(Windows Forms)
Необходимо спарсить html код страницы который содержит результаты по определённому запросу с сайта [Ссылки могут видеть только зарегистрированные и активированные пользователи]Например вы пишете запрос "clash of clans читы" и нажимаете подобрать,в ответ вы получаете результат по данному запросу который и необходимо спарсить.
Вам необходимо создать метод который выводит HTML текст страницы в которой есть результаты по определённому запросу.


Дополнительно: у меня есть документ с названиями игр,метод который вы должны реализовать,должен принимать примерно такие параметри GetResultHtmlWordstat(string name,string metka); где name - название игры,а metka - это одно из (читы\взлом\прохождение)
Пример кода который должен выйти

string html = "";//для хранения спарсеного текста
string metka = " читы";
System.IO.StreamReader sr;// открыли для чтения txt документ с играми.
sr = new System.IO.StreamReader(Application.StartupPath + "\\games.txt", System.Text.Encoding.GetEncoding(1251));//читаем файл из корневой папки в которой наш exe
string clovo2;//название игры
int i = 60;//в файле 60 названий игр
while(i!=1)//пока что одну игру
{
clovo2 = sr.ReadLine();//получаем название игры с файла
html=GetResult(clovo2,clovo);// получаем HTML код страницы с по запросу clash of clans читы,где сlash of clans это первая строка txt файла,а вторая переменная clovo2 равна " читы".И так последующие игры,Death Moto 2 читы,##### читы ..... на следующих проходах цикла while.
i--;
}

P.S. Ваша задача лишь спарсить страничку в которой есть результаты,а парсить результат запросов с html текста это уже моё дело.
В чем сложности?Почему я не смог это сделать или почему у меня до сих пор не получилось?


Дело в том что я перепробывал полдесятка методов,и главной проблемой оказалось пройти аутентификацию которая и нужна для получения результатов,этот шаг я прошел лишь одним методом - с помощью элемента WebBrowser я сделал вход в ручную.Казалось бы всё,осталось только вбить запрос,но не тут то было,я вписывал нужный запрос таким способом WebBrowser1.Navigate("[Ссылки могут видеть только зарегистрированные и активированные пользователи]!/?words="+name(название игры)+clovo2(переменной присвоено строка " читы")); - пример -> [Ссылки могут видеть только зарегистрированные и активированные пользователи]!/?words=clash of clans читы , соотвественно после открытия данной ссылки через WebBrowser,в нём отображались нужный результати,вот только результаты отображались только на WebBrowser,а когда я пытался спарсить Html код с помощью DocumentText в нём же,результаты оказались совсем другие,то есть не те что я видел на WebBrowser,а когда я открыл спарсеный текст через тхт документ в браузере и вовсе вылезло вот такое окно(см. вложения),хотя в самом окне WB были действительно необходимые результаты,а не ошибки Error,отсутствие результатов и в том духе.

Второй метод которым я пытался спарсить.

Как я уже говорил,куки с авторизацией мне удалось достать только в WB,а второй метод заключен в использовании
[Ссылки могут видеть только зарегистрированные и активированные пользователи] myRequest = ([Ссылки могут видеть только зарегистрированные и активированные пользователи])[Ссылки могут видеть только зарегистрированные и активированные пользователи](ht);
GetCookieContainer();// метод заносит куки с WebBrowser в глобальную CookieCOntainer container
myRequest.CookieContainer = container ;//присваиваем MyRequest куки из WebBrowser
[Ссылки могут видеть только зарегистрированные и активированные пользователи] myResponse = ([Ссылки могут видеть только зарегистрированные и активированные пользователи])myRequest.GetResponse();
// StreamReader sr = new StreamReader(myResponse.GetResponseStream(),Encodi ng.UTF8);
StreamReader sr = new StreamReader(myResponse.GetResponseStream());
html = "";
html = sr.ReadToEnd();
html = [Ссылки могут видеть только зарегистрированные и активированные пользователи](html);

Оплата
Оставляем примерную стоимость в теме,гору денег платить не собираюсь,один метод всё таки написать,но и обижать ценой школьного завтрака не буду.

P.S.S. когда договоримся о цене,речь о предоплате можеть быть лишь с проверенными(знаю таких) людьми этого форума,возможно даже полная сумма.

Bl@ck}{acker
04.08.2014, 15:08
Еще актуально?) Я даже примерно догадываюсь, в чем проблема.