Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 16:49   #1
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию Перебор данных в адресной-строке и последующее сканирование кода страницы

Всем Привет! Прошу помочь с задачей, которую я не в силах решить.
Программа должна перебирать числа в адресной-строке(например: www.lm/n125412 от 000000 до 999999) затем сканировать код страницы и искать какое-то слово и так до конца.
1) Как в паскале можно написать программу для перебора чисел в адресной строке, просто не представляю.
2) Как задать, чтобы он сканировал именно код страницы, тоже для меня вопрос.

Заранее спасибо!
rob7777 вне форума Ответить с цитированием
Старый 10.11.2011, 17:09   #2
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию

в цикле выкачиваешь нужную страницу в файл, затем парсишь его =)
если с indy то так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var LoadStream: TMemoryStream; i:integer; str:string;
begin
progressbar1.Max:=strtoint(edit1.Text);
progressbar1.Min:=strtoint(edit2.Text);
assignfile(f,'c:\st.txt');
rewrite(f);
closefile(f);

for i := strtoint(edit2.Text) to strtoint(edit1.Text) do
begin
rewrite(f);
closefile(f);
str:='http://www.lm/n'+inttostr(i);;
LoadStream := TMemoryStream.Create; // выделение памяти под переменную
 idHTTP1.Get(str, LoadStream); // загрузка в поток данных из сети
 LoadStream.SaveToFile('c:\st.txt'); // сохраняем данные из потока на жестком диске
 LoadStream.Free; // освобождаем память
 form1.Refresh;
 progressbar1.Position:=i;
 label1.Caption:=inttostr(i)+'/'+edit1.Text;
 progressbar1.Repaint;
end;
end;
компонент- IdHTTP
а парс зависит от конкретного кода страницы.
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 10.11.2011, 22:15   #3
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию

Цитата:
Сообщение от c0zak Посмотреть сообщение
в цикле выкачиваешь нужную страницу в файл, затем парсишь его =)
если с indy то так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var LoadStream: TMemoryStream; i:integer; str:string;
begin
progressbar1.Max:=strtoint(edit1.Text);
progressbar1.Min:=strtoint(edit2.Text);
assignfile(f,'c:\st.txt');
rewrite(f);
closefile(f);

for i := strtoint(edit2.Text) to strtoint(edit1.Text) do
begin
rewrite(f);
closefile(f);
str:='http://www.lm/n'+inttostr(i);;
LoadStream := TMemoryStream.Create; // выделение памяти под переменную
 idHTTP1.Get(str, LoadStream); // загрузка в поток данных из сети
 LoadStream.SaveToFile('c:\st.txt'); // сохраняем данные из потока на жестком диске
 LoadStream.Free; // освобождаем память
 form1.Refresh;
 progressbar1.Position:=i;
 label1.Caption:=inttostr(i)+'/'+edit1.Text;
 progressbar1.Repaint;
end;
end;
компонент- IdHTTP
а парс зависит от конкретного кода страницы.
Я так понял, что это можно delphi 7 компилировать правильно? А вот допустим мну нужно несколько слов искать, одно из них пусть будет консервативный, другое-красивый, третее - увлеченный, для этого нужно несколько переменных создать?
rob7777 вне форума Ответить с цитированием
Старый 12.11.2011, 17:13   #4
c0zak
Пользователь
 
Регистрация: 06.11.2009
Сообщений: 36
По умолчанию

можно и в 7ке, если indy позволяет. а слова поиска в строковый массив загони, лучше в динамический память сэкономишь. ищи в скачанном файле.
Твои сны-как лотерея, это то что мы умеем... ©СЛОТ
c0zak вне форума Ответить с цитированием
Старый 13.11.2011, 23:21   #5
rob7777
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 52
По умолчанию

понял,спасибо
rob7777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mod_rewrite (заменить домен в адресной строке) Maxx PHP 4 19.05.2014 19:11
Текст в адресной строке welcomeTo PHP 8 25.12.2010 09:28
Неправильный ввод в адресной строке браузера Kapitann PHP 3 02.10.2010 22:13
Индикаторы в адресной строке Phantom JavaScript, Ajax 4 02.03.2010 12:13