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

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

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2011, 17:40   #1
SmiLy93
 
Регистрация: 18.01.2009
Сообщений: 7
Лампочка Интернет магазин парсинг

Здравствуйте уважаемые форумчане.Возникла такая проблемка..

<div class="buttons">
<a href="/buy-discount-index.html" title"Continue shopping">Continue shopping</a><a href="https://..../?sign=5bb5d5546456ef9b54191a945c8ba 26&id=0&amount=29.95&product=Symant ec Norton Ghost 9.0&back=http://shop.com/index/callback/&m=part&baggage=a:47;d:shop.com;p:5 3" title"Proceed to Checkout"><img src="/templates/diz_03/i/b-checkout.png" align="absmiddle"/></a>

Нужно спарсить выделенную строку, но сам смысл :
1. Код динамичный
2. Гугл, поиск по форуму не предлагать.

Пишу софт под свой магазин, и сами понимаете нужен простой не громозкий код. Заранее всем спасибо огромное за помощь
SmiLy93 вне форума Ответить с цитированием
Старый 12.06.2011, 17:59   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

a href="https:
вот что тебе нужно найти в начале
"> -- ето конец все что между етим копируеш в переменную)
Pein95 вне форума Ответить с цитированием
Старый 12.06.2011, 18:05   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
var i:integer;
 s:string;
 d:string;//в ней текст страницы
begin
 i:=Pos('Continue shopping</a>',d);
 i:=PosEx('href="',d,i)+6;
 s:=Copy(d,i,PosEx('"',d,i)-i);
примерно так
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.06.2011, 19:02   #4
SmiLy93
 
Регистрация: 18.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
var i:integer;
 s:string;
 d:string;//в ней текст страницы
begin
 i:=Pos('Continue shopping</a>',d);
 i:=PosEx('href="',d,i)+6;
 s:=Copy(d,i,PosEx('"',d,i)-i);
примерно так
Впринципе да подходит, спасибо большое. Такой вопрос, есть не использовать Pos/PosEx как можно еще решить данную задачу? Спасибо
SmiLy93 вне форума Ответить с цитированием
Старый 12.06.2011, 19:04   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну используйте регулярки.
или вы через TWebBrowser работаете?

а чем Pos/PosEx не подходят то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.06.2011, 19:09   #6
SmiLy93
 
Регистрация: 18.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну используйте регулярки.
или вы через TWebBrowser работаете?

а чем Pos/PosEx не подходят то?
Можно пример? TWebBrowser нет упаси бог) Подходят, просто мне чисто для себя интересно какие варианты могут быть еще.
SmiLy93 вне форума Ответить с цитированием
Старый 12.06.2011, 19:13   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я с регулярками не ахти, но знаю что можно
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.06.2011, 19:58   #8
SmiLy93
 
Регистрация: 18.01.2009
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я с регулярками не ахти, но знаю что можно
Ясно) все равно спасибо огромное за помощь. ну может кто откликнутся еще все равно интересно
SmiLy93 вне форума Ответить с цитированием
Старый 12.06.2011, 21:56   #9
SmiLy93
 
Регистрация: 18.01.2009
Сообщений: 7
По умолчанию

У кого есть еще какие нибудь идеи?
SmiLy93 вне форума Ответить с цитированием
Старый 15.06.2011, 11:06   #10
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

так предложили уже . Если подитожить, варианты получения необходимых данных:
1. Pos+PosEx - уже разобрали это
2. Webbrowser (или как там его) - сам ненавижу, но как вариант жизнеспособен
3. Регулярные выражения - чес. говоря не напишу навскидку, надо смотреть весь код страницы, чтоб не схватить не нужное.
4. еще какие библиотеки, я к примеру никак не попробую подключить WebHarwester к делфям. Там можно брать данные с помощью XPath
5. использовать MSXML. Но это только в том случае, если страница полностью удовлетворяет требованиям XHTML, в противном случае получите кучу багов и "странной" работы.

Вообще, исходя из своего опыта (пишу и грабилки, и автопостеры, и менеджеры типа Вашего) наиболее удобно пользовать регулярки
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать интернет-магазин Alina-na Фриланс 7 06.04.2011 22:47
интернет магазин 1500 грн! Prox_ Фриланс 6 28.03.2011 13:39
интернет магазин dimaxz HTML и CSS 18 04.09.2008 03:32
Интернет-магазин, отзывы. AlDelta Софт 2 06.03.2008 16:28