nur_erbol_2002
Но с тем что мне нужно выбрать другой способ а не селениум я не соглашусь, ибо таких же популярных инструментов которые могут работать с js и могут позволить ему прогрузиться я не видел.
Он для тестирования сделан изначально, поэтому он стал заложником этого. Как бы он ни развивался, он всё равно теперь не может прыгнуть выше своей головы. Он не может выйти из собственной клетки, которую ему сделал хозяин изначально. Поэтому от него и надо отказываться первым делом. Сегодня он работает, завтра перестанет работать, а поменять ты это не сможешь. Надо будет тебе ждать, когда в нём исправят какой-то баг, а ждать исправления бага обычно приходится год, два года и так далее. Там такие периоды. То есть когда ты в Selenium'е, у тебя нет контроля над ситуацией.
nur_erbol_2002
Там во время начала теста сайт грузиться сразу а тесты дозагружаються. Любой парсер html будет думать что сайт загружен уже и останавливать дозагрузку.
Да ты хотя бы в консоль браузера заглядывал? Какие запросы идут, когда он там грузится, какие JavaScript-скрипты загружаются и что в них. Вот ты натолкнулся на то, что ты не можешь нажимать эти кнопки, вот тебе нужен способ нажатия на них или обход этого нажатия, чтобы его вообще делать не надо было. Это делается через анализ сайта.
nur_erbol_2002
Откуда такая инфа? Пробовал уже через requests + bs4
Так ты же не разбираешься в этом всём. Даже если ты их знаешь, например, надо ещё знать, как их применять и как их не применять. А это ты знаешь? Скальпель можно по-разному применять, он от этого скальпелем не перестаёт быть. Но им можно операцию классную провести, а можно какую-то хуйню сделать. И он тебе никак не скажет “вот ты чо щас печень протыкаешь насквозь мной?! это неправильно!”.
Ты, вообще, знаешь, как прослушиваются кнопки в коде на JavaScript? Это берётся элемент из DOM и к нему прикрепляется прослушивальщик нажатий. А знаешь, что такое DOM? Нет, конечно. И что мне сейчас сидеть тут и пересказывать тебе книжки, которые я читал, а ты не читал? Мне-то это нахера, они все написаны, никто их от тебя не прятал. Соответственно, эти кнопки может слышать любой элементик, который там на странице есть. И вот кто из них слушает кнопки, это надо через JavaScript-скрипты смотреть. Ты посылаешь кнопки одному элементу, а он их не слышит, потому что на нём нет слушальщика и пропагация не идёт тоже. Ну, ты просто тупо делаешь что-то, а оно просто тупо тебе отвечает в ответ “ничего не вижу”. Тупой вопрос- тупой ответ. Для этого вот и надо анализировать, что там и как там оно устроено. Готовиться надо, разведку вести, а потом только делать.
nur_erbol_2002
Это мой первый личный не коммерческий проект, я не прошу писать за меня все.
Ты просишь за тебя обокрасть этот сайт. А это тут не котируется. Кто-то сидел, собирал там это всё, сделал работу, имеет полное право монетизировать это всё. Ты не можешь ему предъявлять претензии, что он тебе бесплатно доступ не даёт туда, потому что он это всё сделал, а ты нет. К нему больше уважения, чем к тебе, какому-то халявщику. Иди на форум взломщиков, там уёбки собираются всякие, глисты, которые ничего не умеют, за счёт других живут. Ну вот, давай, вперёд. Только вот они тебя тоже ценить не будут, а тоже попытаются отыметь либо на деньги, либо на какую-нибудь хуйню ещё там какую-нибудь. Скины у тебя украдут в CS-GO для перепродажи, пока ты там уши развесишь. Ещё и бухаешь, алконафт - вообще находка. Ему что угодно говоришь - он что угодно делать будет.
nur_erbol_2002
И совет с базой куда я буду записывать вопросы. Для нескольких тыс строк хватит ли самого пайтона или надо сюда и sql ставить?
SQL нужен, когда ты умно искать собрался данные. Соответственно, для баз данных с SQL есть разные мощности. Начинается всё с SQLite'а, там вся база лежит в одном файле.Многие программы это используют; например, браузер свои куки хранит у себя в SQLite-файле. Потом там идёт MySQL. Он очень хорошо сделан, но он не выдерживает очень тяжёлые базы с миллиардами записей. Потом уже идёт PostgreSQL, который сделан похуже, чем MySQL, но он зато выдерживает огромные базы. А потом уже начинаются другие системы.
Соответственно, у тебя есть умный поиск данных какой-то? Я что-то его не наблюдаю. Значит, тебе хватит базы данных без SQL. Для таких баз данных возможности шире гораздо. Это и простой текстовый файл с любым своим форматом, и просто какой-нибудь CSV-формат, и просто какой-нибудь JSON-формат, а можешь и XML выбрать, если собрался что-то передавать от одной системы к другой. Так что я не вижу необходимости сужения до SQL при выборе подходящего формата хранения и использования. Бери JSON.
А пока что у тебя базы нет. Ты её не смог собрать. В принципе, ты её собрать-то сможешь, если так глобально посмотреть
, так что можешь писать по частям своего бота. Для написания бота можешь использовать базу, наполненную вручную какими-то тестовыми данными. На них ты полностью можешь разработать бота, который полностью функционирует. Для тебя эта задача будет неподъёмной, я так думаю, потому что ты ещё не знаешь, что такое изготовление программ, и слишком легкомысленно к этому относишься пока. А потом, когда у тебя бот готов, ты можешь собрать ему уже реальную базу данных вопросов. И вот тебе понадобится расковырять этот сайт, чтобы получить данные с него.
То есть это две абсолютно разные задачи, а не одна задача, как тебе кажется по неопытности. Первая задача - это спарсить сайт, который не парсится. Вторая задача - сделать бота, который правильно общается и с пользователем одним, и с пользователями многими, и с пользователями многими одновременно, помня про каждого всю его историю. Они обе сложные, так что зря ты губу раскатал, что сейчас типа всё сделаешь сходу, а ещё там кого-то задействуешь для этого, лапшу им на уши навешав. Люди не дураки, они видят тебя насквозь. Только я вот тебе об этом говорю, а другие нахуй тебя будут молча посылать и ты даже не поймёшь ничего.