Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (5)
  • Нужна помощь в telebot?

    @tiger_13
    в telebot реализован алгоритм отправки видео с помощью встроенной функции:

    tb.send_video(chat_id, video)

    в случае с Вашим кодом, реализация будет выглядеть примерно так (при условии, что видео лежит по адресу, записанному в переменную puty):
    video = open(puty, 'rb')
    bot.send_video(message.chat.id, video)


    Вот что умеет telebot:
    https://github.com/eternnoir/pyTelegramBotAPI
    Ответ написан
    Комментировать
  • Как скачать картику с помощью BeautifulSoup?

    @tiger_13
    r = requests.get("xxx")
    soup = BeautifulSoup(r.content)
    for link in soup.select("img[src^=http]"):
            lnk = link["src"]
            with open(basename(lnk)," wb") as f:
                f.write(requests.get(lnk).content)
    Ответ написан
    6 комментариев
  • Как вывести правильный NSRange с NSAttributedString если NSAttributedString инициализирован с Data(HTML)?

    @tiger_13 Автор вопроса
    Как вариант - использовать regex, с помощью которого найти что написано в <p>из отображаемого текста (ищем в String, инициализированным с data(html), то есть видим все теги), и искать этот текст в attributed.string:
    //1
        private func getRangeFor(attributedString:String,aValue:String) -> NSRange?{
            guard let aWord = self.findAWords(aValue: aValue),let foundRange = attributedString.range(of: aWord) else {return nil}//ищем aWord - то, что записано в <p>, затем ищем уже range в attributedString(отрендеренный HTML)
            return NSRange(foundRange, in: attributedString)
        }
        
        //2
        private func findAWords(aValue:String) -> String?{
            guard let data = self.HTMLdata,let str = String(data: data, encoding: .utf8) else {return nil}
            
            
            let pattern = #"<p class=main-text><a name="\#(aValue)"></a>\n<span class=main-text-span>(?<paragraph>.+)</span>"#
            let regexRange = NSRange(location: 0, length: str.utf16.count)
            let regex = try! NSRegularExpression(pattern: pattern)
            let regexResult = regex.firstMatch(in: str, options: [], range: regexRange)
            guard let matchedWordRange = regexResult?.range(withName: "paragraph"), let wordRange = Range(matchedWordRange, in: str) else {return nil}
            return String(str[wordRange]) //вернет слово (Название), нужно дописать regex, чтобы была вторая группа - слово ( абзаца)
        }
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (24)