Noir, значит твой список полученных ссылок от гугла пуст, почему так - надо дебажить дальше, смотреть ответ, смотреть правильный ли селектор, смотреть на возвращаемые результаты и корректировать скрипт
h0w4rd, Ну ващет объекты файлов поддерживают протокол итерации и их можно прочитать в цикле. Noir, А автору бы научиться скрипты дебажить, хотя бы простыми натыканными везде print`ами, чтобы узнать где скрипт подыхает
wintreist, не надо, лучше придумай как отличить одно сообщение от другого(имеется ввиду где начало, где конец) и реализуй это, вариантов есть много, например http использует content-length и символы переноса строки, а Redis в начале сообщения указывает сколько элементов надо получить и пока столько не получишь нельзя считать, что все данные пришли в буффер.
А если уж предпочтения с сокетами работать, то лучше книжку про создание сетей на питоне прочитать или хотя бы пару статей про сокеты в python. А то сложность "сложно" на таком вопросе и проблемы с бесконечным recv это скорее "сделать хочу, разбираться не хочу", а не "поработать с сокетами"
Aleksandr, Конечно:
Бот получил команду от пользователя, бот, используя написанный тобой метод, делает запрос на страницу, далее, используя написанный тобой же метод ищет в полученном результате сообщение и если оно есть - напишет об этом пользователю запросившему описанные тобой действия
Max Payne, у тебя в том комменте тесты нормально импортируют модули из апп, это твой reloader.py не может импортировать модели, потому что надо писать from . import models или import models, а то что красным подчеркнуто должно пропасть после того как ты app отметишь как source root
dr4k, А это уже зависит от формата взаимодействия твоего клиента с сервером. В общем случае создавать дополнительный сервер точно также как и первый, подключаться к дополнительному серверу точно также как и к первому
Потому что не надо называть скрипты именами библиотек, переименуй D:\Мои документы\PyCharm\Project_1\Excel\openpyxl.py во что-нибудь другое
У тебя один скрипт пытается импортировать рядом лежащий скрипт вместо нужной либы
Канеш ваще без понятия как там ваш телеграмм бот устроен, но когда тебе нужно создать так много объектов - сделай маппинг, например callback_data_to_text_map, обходи в цикле, создавай объекты, сохраняй их в другой маппинг callback_data_to_button_obj_map.
А дальше, на сколько я понимаю, в хэндлере коллбэка по callback_data можно будет получить объект кнопки из соответствующего маппинга и делать что захочется
ужось, после links = page.cssselect('.r a')