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

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

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2018, 17:32   #1
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
Вопрос Как сграбить, распарсить и перезалить страницу после рерайта на свой сайт советы от программиста

Проблема детей, в том числе тех кто смотрит видосики на ютубе, в том что вы хотите волшебную палочку, и уверены, что она есть, просто надо найти, вернее у вас их много, и вы никак не можете выбрать какую, в итоге не выбираете никакой, но терминами накачались.

А программист работает так. - берем delphi

нужно куда-то получить, ставим компонент - memo1

нужно получить страницу. ставим компонент http из библиотеки indy idhttp.get - получил.

нужно как-то поменять используем фунции delphi, например strreplace

нужно сохранить в файл из memo.savetofile(index.html) - savetofile

нужно как-то отобразить даём файлу расширение .html

нужно отобразить на сервере - берём хостинг и заливаем этот html файл с названием index.html

всё сайт сграблен, распарсен и залит на сервер.

Дальше. идёт оптимизация тех или иных этапов.

неудобно в memo1 менять - берем более визуальный компонент и т.д.

вот так работают программисты.
сайт распарсен результат получен.
хотите красиво отобразить подключаете стили через css.
знаете как работать с базами, подключаете базы данных, при больших объёмах это всегда оправдано.
умеете работать с экселем, используете его как базу данных, тоже неплохо для небольших проектов.
Alar вне форума Ответить с цитированием
Старый 04.09.2018, 17:43   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

чот сложно, зачем тут винда и GUI?

И strreplace не всегда хватает, а с библиотеками для парсинга HTML в Дельфи не очень (да и idhttp не очень, там даже куки по умолчанию не сохраняются и какие-то другие вещи сложно делаются, лучше хотя бы Synapse).

Мне так больше нравится:
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Цитата:
Сообщение от Aliens_wolfs Посмотреть сообщение
Сейчас экспериментирую чтобы в httpsend замену в Cookie делать на нужную строку
Зачем с куки что-то делать?

Вот сделал на Питоне за 10минут™:

Код:
pipenv install requests
pipenv install pyquery

pipenv shell
Код:
import requests
from pyquery import PyQuery


def parse_price(html):
    pq = PyQuery(html)
    return pq('div.price span').text()


def load_price(url):
    session = requests.session()
    session.get(url)
    session.post(url, {'addr_id': 582})
    resp = session.get(url)
    return parse_price(resp.text)


print(load_price('http://teremok.ru/menu/bliny_sytnye/blin_dvoynoy_s_vetchinoy_i_syrom/'))
Код:
python teremok.py
173
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.09.2018 в 17:46.
Alex11223 вне форума Ответить с цитированием
Старый 04.09.2018, 17:45   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
чот сложно, зачем тут винда и GUI?
затем что все кто начинает что-то делать привык в игровым интерфейсам виндовс, в чём они по вашему ютуб смотрят? ), потому именно delphi им кликабельно понятна. от DOS у них будет ступор, шок, истерика и преждевременные роды.

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
strreplace
естественно, но для того чтобы поменять пару слов сойдёт, я в своё время использовал для некоторых изменений, например случайное удаление или вставка пробелов, тогда текст мгновенно для поисковиков становился уникальным. Думаю, даже сейчас этот метод прокатит для заспамливания поисковой выдачи на низкочастотниках.
Alar вне форума Ответить с цитированием
Старый 04.09.2018, 17:50   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

DOS? Это в палату к Юре http://www.programmersforum.ru/showthread.php?t=287606

С Дельфи уже мало кто начинает, а с терминала/консоли как раз начинают почти в любом учебнике по любому ЯП, да и на ютубе тоже.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.09.2018, 17:52   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
терминала/консоли
т.е. это не


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
DOS

как раз таки терминал или консоль это и есть DOS

понятно что DOS для виндовс, а в линуксе это сложно назвать DOSом, но при желании почему бы и нет? команды одни и теже и мигающие нижнее подчёркивание )) Оу у меня белый квадрат мигает в терминале, наверное это сильно скажется на том как я теперь буду терминалом пользоваться, раньше то на это не обращал внимание )))

Это опять констатирует факт, что слишкмо много внимания к ненужным финтифлюшкам у меня в голове термины DOS и консоль идут как сининомы и я раньше даже не задумывался, что это не корретно если с научной точки зрения подходить ))))

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
почти в любом учебнике по любому ЯП
вот потому программистов всё меньше и меньше, у студентов на этом уже этапе не преодолимый ступор, им бы с экселя начинать, например я всегда рекомендую именно его для изучения бд. Хотя сам начинал с БД на текстовых файликах и всё у меня работало, и некоторые проблемы подобных баз изучил на собственном опыте и до сих пор этот опыт пригождается, чтобы понимать какие могут возникать проблемы на больших данных, на совместном использовании баз данных и т.д.

Оттого я в репликации до сих пор не верю )
Alar вне форума Ответить с цитированием
Старый 04.09.2018, 18:00   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну cmd это не особо MS DOS начиная с ХР, и там с вин8-10 активно продвигается более удобный и юниксо-подобный PowerShell.
+ во многих IDE вообще не видно никакого страшного черного окна, просто текст выводится в окне самой IDE.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.09.2018, 18:03   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Alex11223, я уже учёл эту поправку, повторю, для меня это были синонимы. В любом случае терминал меня напрягает, потому предпочитаю любые доступные веб интерфейсы, у них ещё дополнительные ограничения по уровням доступа, которые делают работу более безопасной от эффекта случайного тыка. тот же phpmyadmin для работы с базами.
Alar вне форума Ответить с цитированием
Старый 04.09.2018, 22:44   #8
Bruto
лишился icq
Пользователь
 
Аватар для Bruto
 
Регистрация: 23.03.2014
Сообщений: 34
По умолчанию

Be happy, use python)
Помог ответ-жми весы
Bruto вне форума Ответить с цитированием
Старый 11.12.2020, 16:10   #9
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Alar Посмотреть сообщение
всё сайт сграблен, распарсен и залит на сервер.
По-моему, вы этап с парсингом пропустили
BLACK_RAIN вне форума Ответить с цитированием
Старый 13.12.2020, 14:11   #10
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
По-моему, вы этап с парсингом пропустили
Распарсить - это придать форму, вывести на сайт структрировано включает прасинг и выгрузку.

парсить - структорировать.
Alar вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GWT как передать файл на сервер там его распарсить и вернуть обратно на страницу iwk Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 0 09.12.2017 20:49
Распарсить страницу для получения текста новостей xero C# (си шарп) 0 08.12.2012 08:48
Сграбить и экран и высести на сайт chiffa Работа с сетью в Delphi 3 09.09.2012 14:25
Как распарсить страницу DeDoK Общие вопросы Delphi 2 30.11.2009 22:30
Как выкладывать свой сайт в интернет, Как мне выложить сайт, psywalker HTML и CSS 6 21.05.2009 15:04