Форум сайта python.su
привет всем
хотел сделать парсер ютуба,он в принцепи работает,суть парсинга вводишь в консоль интересующие тебя название видео, он выдает ссылки на эти видео,тут все работает.
хочется что бы эти ссылки выпадали так же в телеграм боте
вот код
import urllib from urllib import request from urllib.parse import quote import re, os, sys import telebot def findyoutube(x): mas = [] sq = 'http://www.youtube.com/results?search_query=' + quote(x) doc = urllib.request.urlopen(sq).read().decode('cp1251', errors='ignore') match = re.findall("\?v\=(.+?)\"", doc) if not (match is None): for ii in match: if (len(ii) < 25): # функция для парсинга mas.append(ii) mas = dict(zip(mas, mas)).values() mas2 = [] for y in mas: mas2.append('http://www.youtube.com/watch?v=' + y) return mas2 # код телеграмм бота config = '489709129:AAFTt3qIDSwSFX9AqUfzKOZTBJbF_pR7o5g' bot = telebot.TeleBot(config) a = str(input()) @bot.message_handler(content_types=(a)) def repeat_all_messages(message): # Название функции не играет никакой роли, в принципе bot.send_message(message.chat.id, print(findyoutube(a))) # вот через эту строку должен быть вывод в #телеграм print(findyoutube(a)) if __name__ == '__main__': bot.polling(none_stop=True)
Офлайн
bot = telebot.TeleBot(config) a = str(input()) x = findyoutube(a) bot.send_message(id, x)# id = ваш id
@bot.message_handler(func=lambda message: True, content_types=['text']) def echo_message(message): x = findyoutube(message.text) bot.send_message(id, x)# id = ваш id либо message.chat.id если любому кто ввел
import urllib from urllib import request from urllib.parse import quote import re, os, sys import telebot def findyoutube(x): mas = [] sq = 'http://www.youtube.com/results?search_query=' + quote(x) doc = urllib.request.urlopen(sq).read().decode('cp1251', errors='ignore') match = re.findall("\?v\=(.+?)\"", doc) if not (match is None): for ii in match: if (len(ii) < 25): # функция для парсинга mas.append(ii) mas = dict(zip(mas, mas)).values() mas2 = [] for y in mas: mas2.append('http://www.youtube.com/watch?v=' + y) return mas2 # код телеграмм бота config = '489709129:AAFTt3qIDSwSFX9AqUfzKOZTBJbF_pR7o5g' bot = telebot.TeleBot(config) #a = str(input()) @bot.message_handler(func=lambda message: True, content_types=['text']) def echo_message(message): x = findyoutube(message.text) bot.send_message(message.chat.id, x)# id = ваш id либо message.chat.id если любому кто ввел #телеграм #print(findyoutube(a)) if __name__ == '__main__': bot.polling(none_stop=True)
Отредактировано Kasta_neda (Март 7, 2018 23:24:19)
Офлайн