![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет всем, знаю что на форумах скорее всего этот вопрос задавался не раз, но мне он невстретился ни в гугле, ни в яндексе, ни на форумах где я был. Вобщим вопос такой. Есть сайт, на нём ссылки с одинаковой маской, но различной канцовкой. Может кто нить на коде объяснить как по ним переходить. То есть зашёл на урл, взял ссылки парсингом и пошёл по ним, про авторизацию и парсинг знаю, а вот как переходить с сайта по линкам не пойму
, поделитесь знаниями если не трудно, очень надаP.S. пишу через idhttp indy 10 |
|
#2
|
|||
|
|||
|
гм... idhttp.get(S);, где S - это строка, в которой распарсенный линк, не сгодится???
|
|
#3
|
|||
|
|||
|
про переменную я знаю, я хотел уточнить если как я понимаю, захожу на страницу, парсингам в переменную вписываю урл(ы) по маске что меня интересует, дальше пишу idhttp.get(сайт/переменная) и цикл или нет?
Вот код который я использую: Цитата:
Последний раз редактировалось bulldog, 31.07.2010 в 14:57. |
|
#4
|
|||
|
|||
|
Ну не уж то не кто не подскажет?
|
|
#5
|
|||
|
|||
|
Код:
Link:='http://site.ru/'; //"маска" ссылки
Memo1.Lines.Append(IdHTTP1.Get('http://site.ru/')); //Получаем исходный код страницы
for i:=0 to Memo1.Lines.Count-1 do
if pos(Link, Memo1.Lines[i])<>0 then
begin
fullLink:=Copy(Memo1.Lines[i], pos(Link, Memo1.Lines[i]), Length(Link)+100); //копируем ссылку и некоторый код после нее.
Memo2.Lines.Add(fullLink); //добавляем это в Мемо
//в этом цикле приводим ссылку в человесческий вид
for i:=0 to Memo2.Lines.Count-1 do
begin
fullLink:=Memo2.Lines[i];
Delete(fullLink, Pos('"', Memo2.Lines[i]), 200);
Memo2.Lines[i]:=fullLink;
end;В итоге в Мемо2 получишь все ссылки по маске с загруженой сранице. Далее переходишь в цикле по ссылкам и так же копируешь ссылки оттуда если надо)) |