• Как пронумеровать списки?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    let arr = [`Яблоко`, `Груша`, `Апельсин`, `Банан`];
    
    for (let i = 0; i < arr.length; i++) {
      console.log(`${i + 1} ${arr[i]}`);
    }
    Ответ написан
    3 комментария
  • Как лучше сделать ссылку в списке ul li?

    aliencash
    @aliencash
    Партизан
    Первый, способ приведенный вами в вопросе, единственно верный.
    Чтобы ссылка "начиналась" с <li>, не нужно <li> в CSS давать padding. Давайте его для <a>. А для того, чтобы вертикальные отступы то же сработали дайте для <a>display: block или display: inline-block.
    Ответ написан
    7 комментариев
  • Как сделать автоматическое добавление console.log?

    KorniloFF
    @KorniloFF Куратор тега JavaScript
    Работаю по font-end / JS
    Для VS Code я использую плагин JavaScript Snippet Pack for Visual Studio Code
    В нем уже встроена комбинация cl.
    Также через меню Файл - Параметры можно задавать пользовательские фрагменты кода.
    Ответ написан
    Комментировать
  • Как Sublime Text вызвать слева меню - Folders?

    4mobile
    @4mobile
    WEB developer
    View - Sidebar - Show Sidebar и перетащить в него папку с проектом
    Ответ написан
    1 комментарий
  • Как на Sublime text поставить подсказки для WP?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Вы подали мне отличную идею))) Себе тоже поставлю
    Инструкция - https://www.youtube.com/watch?v=6ZKuJyd4Wdk
    Инструкция - https://www.youtube.com/watch?v=5CTmGYVozbA
    Ответ написан
    2 комментария
  • Как спарсить номер телефона с авито без selenium и различных драйверов?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    1)Школьники всё равно в школу не ходят, наймите их за пару баксов, пусть кликают.
    2)Ещё как вариант, вручную перепечатывать номера с картинок.
    3)Ну если вы очень крутой программер, покопайтесь в js, там всего-то делов, отправить get запрос по адресу
    https://www.avito.ru/items/phone/id_объявления
    с параметрами:
    5eab4525a90fd705297405.png
    Половину я вам подсказал, за вами осталось узнать как генерируются pkey и searchHash.

    Добавлено:
    Вот код, параметры я скопировал из браузера. Если удастся понять как они(вернее как их значения) генерируется, то дело в шляпе):
    Внимание! В коде обнаружены костыли!)
    import requests
    import base64
    
    params = {	'pkey':'dfed69290bc453b834e2e0e2f16bf630',	# Осталось узнать, как генерируется это значение!
    			'vsrc':'r',
    			'searchHash':'ttv948zc8v4kg0oc4k0o8wok04w8ook'	# И это тоже!
    			}
    
    url = 'https://www.avito.ru/items/phone/1315030387'
    
    response = requests.get(url,params=params)
    
    with open("imageToSave.png", "wb") as fh:
        fh.write(base64.decodebytes(response.text[34:-2].encode()))

    На выходе получаем картинку с номером для объявления с id 1315030387. На Python распознать не проблема.
    Ответ написан
    8 комментариев
  • Как расположить inline кнопки в pytelegrambotapi?

    @twistfire92
    Python backend developer
    Row_width не обязательно указывать вообще. По умолчанию значение равно 3.
    Т.е. если просто в объект InlineKeyboardMarkup добавлять кнопки поочередно, они будут выстраиваться линиями по 3 кнопки в ряд.

    Вам надо использовать метод row(), передавая туда список объектов InlineKeyboardButton

    Т.е. если ориентироваться на ваш скрин, то располагать кнопки следует следующим образом:
    start_markup = telebot.types.InlineKeyboardMarkup()
    
    # первый ряд (две кнопки)
    btn1= telebot.types.InlineKeyboardButton('действие 1', callback_data='1')
    btn2= telebot.types.InlineKeyboardButton('действие 2', callback_data='2')
    start_markup.row(btn1, btn2)
    
    # второй ряд (одна кнопка)
    btn3= telebot.types.InlineKeyboardButton('действие 3', callback_data='3')
    start_markup.row(btn3)
    
    # третий ряд (две кнопки)
    btn4= telebot.types.InlineKeyboardButton('действие 4', callback_data='4')
    btn5= telebot.types.InlineKeyboardButton('действие 5', callback_data='5')
    start_markup.row(btn4, btn5)
    
    # четвертый ряд (две кнопки)
    btn6= telebot.types.InlineKeyboardButton('действие 6', callback_data='6')
    btn7= telebot.types.InlineKeyboardButton('действие 7', callback_data='7')
    start_markup.row(btn6, btn7)
    
    # пятый ряд (одна кнопка)
    btn8= telebot.types.InlineKeyboardButton('действие 8', callback_data='8')
    start_markup.row(btn8)
    Ответ написан
    Комментировать
  • Как сделать автоматический парсер?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    1. Как спарсить не последнюю новость, а любую (например, предпоследнюю)

    Логично, что нужно найти все новости, и выбрать предпоследнюю

    2. И как сделать проверку новых новостей, чтобы программа понимала, что вышла новая новость и сразу парсила её.

    А как вы понимаете, что новость новая? Скорее всего вы помните название последней новости, и при обновлении страницы опять находите последнюю статью, и сравниваете название с тем, которое помните? Неожидано, но для бота все точно так же. Находите последнюю на текущий момент статью -> сохраняете ее название в переменной -> через Х времени заново находите последнюю новость, и сравниваете названия.

    Ещё я обнаружил, что при таймере парсится одна и та же новость. То есть программа запущена, новость спарсилась и через указанный интервал времени, даже если на сайте появились новые новости будет парсится эта же новость, пока не перезапущу программу.

    Все правильно, вы один раз получили код страницы, и больше его не обновляли
    html = requests.get("https://www.rbc.ru/short_news")
    Ответ написан
    Комментировать
  • Как в Sublime Text 3 запускать код Python-a?

    @Vladisus
    Есть много вариантов, первый это ctrl + b, но он не поддерживает ввод. Поетому советую использовать SublimeRELP, установить его не так сложно, просто воспользуйтесь Package Control -> Install Package -> SublimeRELP. Теперь ви можете Tools -> SublimeRELP -> Python -> Run Current file. Но это поддерживает только Python2.7 и пользоваться не удобно. Для того что бы исправить это все открываем Preferences -> Key Bindings -> User и добавляем такое:

    { "keys": ["ctrl+b"], "command": "repl_open",
                     "caption": "Python - RUN current file",
                     "id": "repl_python_run",
                     "mnemonic": "d",
                     "args": {
                        "type": "subprocess",
                        "encoding": "utf8",
                        "cmd": ["python3", "-u", "$file_basename"],
                        "cwd": "$file_path",
                        "syntax": "Packages/Python/Python.tmLanguage",
                        "external_id": "python",
                        "extend_env": {"PYTHONIOENCODING": "utf-8"}
                        }
    	}


    (в квадратние скобки).
    Теперь при Ctrl + b все должно работать.
    Ответ написан
    5 комментариев