You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
889 B
26 lines
889 B
import requests
|
|
import re
|
|
import html
|
|
|
|
url = "https://thecodinglove.com/"
|
|
|
|
|
|
def send_coding_love_gif(bot, update):
|
|
random_url = re.search('href="(.*)".*\n.*random\(\)', requests.get(url).text).group(1)
|
|
|
|
random_page_content = requests.get(random_url)
|
|
random_page_content.encoding = 'utf-8'
|
|
random_page_content = html.unescape(random_page_content.text)
|
|
|
|
caption = re.search('blog-post-title">(.*)</h1>', random_page_content).group(1)
|
|
|
|
gif_match = re.search('data="(.*)" type="image/gif"', random_page_content)
|
|
if gif_match is None:
|
|
gif_match = re.search('og:image" content="(.*)"', random_page_content)
|
|
|
|
if gif_match:
|
|
gif_url = gif_match.group(1)
|
|
bot.send_animation(chat_id=update.message.chat_id, animation=gif_url, caption=caption)
|
|
|
|
else:
|
|
update.message.reply_text("Error fetching image: %s ¯\_(ツ)_/¯" % random_url)
|