Привет всем
Как можно спарсить список игр со страницы с играми в steamcommunity.com ?
Страница со списком игр (пример): [Ссылки могут видеть только зарегистрированные и активированные пользователи]
Интересует не сам код, а вообще принцип этого парсинга.
Тут наверно работа с сокетами и GET\POST запросы. Если где-то есть статья или еще что-то, которая может помочь в решении данной задачи - прошу поделиться. Буду очень признателен за помощь.
MCseller
08.08.2011, 17:29
Посылка GET запроса, и дальше регулярные выражения.
Ничего особенного.
noob c++
08.08.2011, 20:41
Посылка GET запроса, и дальше регулярные выражения.
Ничего особенного.
Это нужно снифером посмотреть что передает и принимает сервер и сформировать запрос в ответ на который сервер пришлет список игр ?
MCseller
08.08.2011, 20:51
ну создаешь GET запрос к нужной странице
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
получаешь её содержимое html и проходишься по ходу с помощью регулярного выражения ища нужную маску
MCseller
08.08.2011, 21:23
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
если кодишь на С++ с использованием .NET
там про пространства имен System.Text.RegularExpressions и System.Web почитай
Вполне понятным языком всё написано, и с примерами
Rhino1234
10.08.2011, 20:29
Покажу шаги простого и банального решения (для новичка)
1)Как говорил MCseller, делаешь запрос на [Ссылки могут видеть только зарегистрированные и активированные пользователи] пример (String s = Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]>Get("[Ссылки могут видеть только зарегистрированные и активированные пользователи]"))
2)В переменную s попадает html код странички
3)С помощью Pos ; Delete ; SubString ; вытаскиваешь все что нужно
ну если ты уже вполне разбираешься в языке то юзай html parser c++
ниже код на Pos ; Delete ; SubString ; в C++
// s - твой ответ
int p = s.Pos("rgGames['240']");
//находим позицию слова в строке
s = s.Delete(1,p+15);
p = s.Pos("= '");
int len = s.Pos("';") - p;
String igra = s.SubString(p,len);
// в igra теперь Counter-Strike: Source кажется... :D
честно скажу писал так на память так что могут быть какие то лаги )
MCseller
10.08.2011, 21:44
1)Как говорил MCseller, делаешь запрос на [Ссылки могут видеть только зарегистрированные и активированные пользователи] пример (String s = Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]>Get("[Ссылки могут видеть только зарегистрированные и активированные пользователи]"))
2)В переменную s попадает html код странички
3)С помощью Pos ; Delete ; SubString ; вытаскиваешь все что нужно
Хочу отметить, что C++ Builder тоже является одной из реализаций C++ который насколько помню тоже использует свои библиотеки, а ТС скорее всего имеет компилятор GCC
noob c++
11.08.2011, 19:44
Хочу отметить, что C++ Builder тоже является одной из реализаций C++ который насколько помню тоже использует свои библиотеки, а ТС скорее всего имеет компилятор GCC