Бред


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
55 3 18

Аноним 28/03/20 Суб 05:53:40 2164677361
photo2019-09-07[...].jpg (104Кб, 641x1280)
641x1280
Сап двач, как проще всего распарсить страницу?
Есть базовые знания Python, JS, Java, Selenium, jQuery.
На странице просто таблица с названиями и ценами предметов, я хочу получать уведомление когда в таблице появится предмет с более дешевой или дорогой ценой.
Аноним 28/03/20 Суб 05:57:51 2164678022
>>216467736 (OP)
желательно на джаве, потому что я не могу в ооп на питоне и не хочу велосипед придумывать
Аноним # OP 28/03/20 Суб 06:03:13 2164679123
ща попробую с jsoup разобраться, вроде то что надо
Аноним 28/03/20 Суб 06:07:57 2164680094
>>216467736 (OP)
> более дешевой или дорогой ценой
Цена может быть высокой или низкой, быдло. А дешевеет и дорожает товар.

С такой небрежностью мышления нечего делать в программировании.
Аноним 28/03/20 Суб 06:14:05 2164681535
>>216467802
Я через htmlunit парсил парсю и буду парсить сайты с хентаем. В реализации просто, если хтмл вообще не понимаешь иксМл ващет но пох то лучше посмотри базовые принципы там, воооот хз че сказать все тут
Аноним 28/03/20 Суб 06:21:23 2164683026
>>216467736 (OP)
> Есть базовые знания Python, JS, Java, Selenium, jQuery.
Если они есть, тогда ты знаешь что делать. Нахуй спрашиваешь-то?
Аноним # OP 28/03/20 Суб 06:38:48 2164686397
>>216468302
потому что на js мне привычнее всего с сайтами работать, хотя кто-то говорит что python это топ язык для парса. хочу понять как проще всего это сделать. опыт только учебный, на практике таким не занимался еще.

>>216468153
хтмл и DOM понимаю конечно. спс.

>>216468009
да я для себя, не агрись

Аноним # OP 28/03/20 Суб 07:06:24 2164692128
Может ли существовать какая-то защита против парса?
Почему-то не могу выбрать элемент по id и class (с помощью getElementById и через cssQuery тоже). По тэгу получается.
На другом ссайте все как по маслу по классу выбралось.
Аноним # OP 28/03/20 Суб 07:06:46 2164692219
>>216469212
через простую консоль в браузере все тоже легко выбирается
Аноним 28/03/20 Суб 07:13:29 21646939610
>>216469212
Если решишь делать на пистоне, то Beautiful Soup лучше всего для этого подходит
Про защиту от парса никогда не слышал, спарси целиком страницу да посмотри, есть там те теги, что ты ищешь или нет
Аноним 28/03/20 Суб 07:15:06 21646942411
Аноним 28/03/20 Суб 07:19:25 21646952512
>>216469396
два чая этому. Пистон лучше всего подойдёт для парсинга, гугл в помощь. Под него библиотек много заточено
Аноним # OP 28/03/20 Суб 07:23:36 21646959713
>>216469212
Например
>>216469525
спс, хуй знает че-то soup на джаве не хочет работать искать по Id, сейчас на питоне попробую
Аноним # OP 28/03/20 Суб 07:59:59 21647029414
>>216469396
пиздец, beautifulSoup это хуета какая-то, нихуя не понятно, понятиями DOM и не пахнет.
Аноним # OP 28/03/20 Суб 08:04:27 21647036815
>>216469212
Так, я понял. Нихуя не искало потому что я не дождался загрузки страницы.
Аноним 28/03/20 Суб 08:04:47 21647037816
Аноним # OP 28/03/20 Суб 08:07:19 21647041217
Аноним 28/03/20 Суб 08:14:32 21647056418
>>216467736 (OP)
Станица какая? В инете?
Тогда вот говнокод-алгоритм за 60 секунд
while (true)
{
// Качаешь страницу (метод get), десериализуешь нужный <table>, сравниваешь со скачанной до этого
if (новая скачанная отличается)
{
// мапишь в модель, сравниваешь цены
}
Thread.Sleep(10000) // раз в 10 секунд
}

Все это заливаешь куда нить на vps, идёшь пить чай
Аноним # OP 28/03/20 Суб 08:28:48 21647086419
>>216470564
спасибо.
блин, может ты знаешь как это можно решить? Вот страница http://l2on.net/?c=market&a=item&id=92236.
Почему-то и BeautifulSoup и jsoup на джаве видят все кроме собственно самой таблицы(а точнее раздела <div id="shops">). Почему такое может быть? Я подумал что из-за того что таблица грузится позже чем происходит парс, но таймер никак не помагает.

Аноним 28/03/20 Суб 08:31:19 21647092520
>>216467736 (OP)
innerHTML.split['тут_делитель'];
вот тебе на JS хуле
Аноним # OP 28/03/20 Суб 08:32:33 21647095521
>>216470864
в ДЖс была специальный ивент для этого DOMContentLoaded, но тут хз в чем дело
Аноним 28/03/20 Суб 08:33:57 21647098622
>>216469396
У нас стоит защита от парсинга. Триггерится от небольшого кол-ва запросов и еще некоторых вещей, не буду говорить каких.
Аноним 28/03/20 Суб 08:34:44 21647100623
>>216470925
ой бля innerHTML.split('тут_делитель');
круглые скобки
Аноним # OP 28/03/20 Суб 08:36:15 21647105124
>>216470955
Так, я понял. Это происходит потому-что по дефолту ищет на другом сервере. URL один и тот же то есть мне нужно сначала коннектнутся к странице, выбрать сервер, а потом уже парсить.

Есть ли способ куки передать при коннекте?
Аноним 28/03/20 Суб 08:36:58 21647106825
>>216470864
че там парсить нет никакой таблицы же
Аноним 28/03/20 Суб 08:38:06 21647109526
Scrapy достаточно мощный фреймворк
Аноним # OP 28/03/20 Суб 08:39:04 21647111827
>>216471068
Справа нужно сервер выбрать(Scarlet) что бы таблица появилась. Я еблан и забыл про это потому, чтоу меня просто по дефолту он выбран уже.
Аноним # OP 28/03/20 Суб 08:39:35 21647113628
>>216471068
теперь надо найти способ научить прогу выбирать сервер
Аноним 28/03/20 Суб 08:40:14 21647115829
>>216467736 (OP)
jsoup збсь, доставал им что-то с ебея в свое время
Аноним 28/03/20 Суб 08:40:35 21647116530
>>216471068
ну я пролистал тот предмет не появился нигде
Аноним 28/03/20 Суб 08:41:56 21647119931
>>216467736 (OP)
>Python
Смотри модули, какие точно я не помню, big data, питон охуенно заточен под это.
Аноним 28/03/20 Суб 08:43:04 21647122332
>>216471136
Я не у пекарни щас, так бы нахуярил что нить. Правда я по с#, но для таких вещей простых тут от жавы отличий минимум.
А касательно автовыбора - открой консоль в браузере, раздел network, да посмотри что происходит при выборе
>>216470564 кун
Аноним # OP 28/03/20 Суб 08:44:45 21647126533
image.png (33Кб, 507x272)
507x272
>>216471223
в консоли кстати пикрил

может ли это значит что у них реально защита от парса есть?
Аноним 28/03/20 Суб 08:44:47 21647126634
>>216471223
Может там вовсе готовый json приходит, тогда вовсе халява

все тот же кун
Аноним 28/03/20 Суб 08:44:53 21647127135
Аноним 28/03/20 Суб 08:45:26 21647128936
>>216471265
Та не консоль смотри а вкладку сеть
Аноним # OP 28/03/20 Суб 08:46:11 21647131437
Аноним 28/03/20 Суб 08:47:17 21647134838
>>216467736 (OP)
На фото еврейка-католичка-мусульманка.
Аноним 28/03/20 Суб 08:47:17 21647134939
На nodeJs либа есть, cheerio. В нее просто загружаешь хтмл, можно простым гет запросом его получить. Далее работаешь как с jquery просто. Успешно парсил этой хуйней один сайтец
Аноним 28/03/20 Суб 08:47:43 21647135840
>>216471314
Алсо что пилишь то?
тот же шарпист Кун, страдающий с похмура
Аноним # OP 28/03/20 Суб 08:50:45 21647145641
>>216471348
азербайджанка

>>216471358
играю в l2 essence и хочу следить за рынком что бы успевать купить всякую хуйню по дешовке. На этом сайте какие-то гении программирования научились собирать информацию с ин-гейм рынка.

короче json файла там не было, зато была ссылка на загрузку этой страницы с нужным выбранным миром
Аноним 28/03/20 Суб 08:52:59 21647152442
>>216471349
Да зачем либа для каждой мелочи?
Почему блин джуны современные любят библиотеки юзать, и тянуть дохуя из сети из за мелочи?
Можно ж всю страницу записать в стрингу, и регуляркой что угодно дергать

похмельный олдфаг шарпист
Аноним 28/03/20 Суб 08:53:40 21647154443
>>216471349
Еще проще вариант, если у них через жс данные для твоей таблицы тянутся просто найти этот запрос во вкладке сеть в браузере, и на него ломиться в коде, теоретически сразу получишь json какой-нибудь со всей инфой. Если там токены какие-то защитные есть, типа csrf, его можно так же через cheerio вытянуть со страницы, предварительно загрузив ее.
Аноним 28/03/20 Суб 08:54:58 21647158844
>>216471456
Ну да, хотя бы страница с выбранным миром, тоже хорошо и говорит что СКОРЕЕ ВСЕГО их сайт делал говнокодер, а значит СКОРЕЕ ВСЕГО никакой защиты от парминга там нет
Аноним 28/03/20 Суб 08:56:28 21647163945
>>216471524
Потому что это удобно и экономит время. Если мне нужно просто говносайт спарсить для личных нужд, то нахуй мне ебаться с составлением регулярок, когда можно подтянуть либу и работать с DOM с таким же синтаксисом как на старом добром жидквери?
Аноним 28/03/20 Суб 08:58:48 21647171846
>>216471639
В целом ты прав, да.
С современным инетом npm install работает быстро.
Просто я старпёр и меня коробит от пушек по воробьями, лол

Аноним 28/03/20 Суб 09:01:14 21647181047
>>216467736 (OP)
А ты уверен, что это именно страница с сервер-сайд рендерингом и не более того? Если эта страница запрашивает данные с API в формате типа JSON, то работать с этим апи-эндпоинтом будет куда проще.
Если такого нету и придётся работать с html - поищи для своего любимого языка либу для парсинга xml/html или адаптер селениума. Последний более громоздкий, но работу точно сделает.
Аноним 28/03/20 Суб 09:04:12 21647191148
>>216471810
>>216471544
Сукко, для следующего проекта ради лулзов сделаю чтоб данные с апиконтроллера возвращались в бинарном формате типа tlv(stlv) в виде массива байт, лол

Аноним # OP 28/03/20 Суб 09:04:41 21647192749
>>216471544
насколько я понимаю ссылка с &setworld=3502 инициирует загрузку страницы с нужным мне куки, в результате чего страница грузится уже со всей нужной информацией. То что ты говоришь может мне как-то помочь? Подгрузки json-ов не наблюдаю.

Я вроде знаю что делать дальше, всем спасибо. Если есть еще советы, то я прочитаю.
Аноним 28/03/20 Суб 09:05:40 21647195350
>>216471718
Ну конечно, для каждого сата будем АСТ строить и токенайзер писать.
Че мы как лохи. А регуляркой парсить что то сложнеее <p>hello world</p> то еще.

мимо-любитель парсить нодой чепопало
Аноним # OP 28/03/20 Суб 09:07:51 21647202151
image.png (17Кб, 464x147)
464x147
Кста, что мне с этим делать? Если я введу рандомное время до следующего чека это поможет? Проверять планирую раз в минут 10.
Аноним # OP 28/03/20 Суб 09:09:34 21647208652
>>216472021
так же при коннекте, я могу выбрать .userAgent, то есть браузер. Если я рандомные браузеры разные буду вставлять то это поможет?
Аноним # OP 28/03/20 Суб 09:11:07 21647213253
>>216472021
или можно забить на это и этого никогда не произойдет?
Аноним 28/03/20 Суб 09:46:23 21647333554
>>216472021
Этот варнинг просто гугл аналитику блокнул, потому что она со стороннего сайта тянется, а разраб не подумал о cors, хуй вообще забей
Аноним # OP 28/03/20 Суб 10:06:13 21647410755
Так, вроде написал почти все, подскажите плз как из
<td class="right" order="8900000">8 900 000</td>
вытянуть 8900000 с помощью css селектора? Это же не аттрибут, верно?
Аноним # OP 28/03/20 Суб 10:26:16 21647491156
>>216474107
с помощью .getAttribute("order") получилось
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов