IMDb/YouTube/Lyrics: quote_plus search URLs

This commit is contained in:
oddluck 2020-02-26 23:28:14 +00:00
parent 2b2108d0d8
commit 9b277b9df9
3 changed files with 13 additions and 8 deletions

View File

@ -34,10 +34,11 @@ import supybot.plugins as plugins
import supybot.ircutils as ircutils
import supybot.ircmsgs as ircmsgs
import supybot.callbacks as callbacks
import supybot.log as log
import requests
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse
from urllib.parse import urljoin, urlparse, quote_plus
try:
from supybot.i18n import PluginInternationalization
@ -54,7 +55,9 @@ class IMDb(callbacks.Plugin):
def dosearch(self, query):
try:
url = None
searchurl = "https://www.google.com/search?&q={0} site:imdb.com/title/".format(query)
searchurl = "https://www.google.com/search?&q="
searchurl += quote_plus("{0} site:imdb.com/title/".format(query))
log.debug(searchurl)
ua = UserAgent(fallback="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0")
header = {'User-Agent':str(ua.random)}
data = requests.get(searchurl, headers=header, timeout=10)
@ -75,14 +78,14 @@ class IMDb(callbacks.Plugin):
if url:
imdb_id = url.split("/title/")[1].rstrip("/")
omdb_url = "http://www.omdbapi.com/?i=%s&plot=short&r=json&tomatoes=true&apikey=%s" % (imdb_id, apikey)
log.info("IMDb: requesting %s" % omdb_url)
else:
irc.reply("No results found for {0}".format(query))
return
channel = msg.args[0]
result = None
self.log.info("IMDb: requesting %s" % omdb_url)
try:
request = requests.get(omdb_url, timeout=10)

View File

@ -39,7 +39,7 @@ import requests
import re
import pylyrics3
from fake_useragent import UserAgent
from urllib.parse import urljoin, urlparse
from urllib.parse import urljoin, urlparse, quote_plus
try:
from supybot.i18n import PluginInternationalization
@ -57,7 +57,8 @@ class Lyrics(callbacks.Plugin):
try:
url = None
title = None
searchurl = "https://www.google.com/search?&q={0} site:lyrics.fandom.com/wiki/".format(lyric)
searchurl = "https://www.google.com/search?&q="
searchurl += quote_plus("{0} site:lyrics.fandom.com/wiki/".format(lyric))
ua = UserAgent(fallback="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0")
header = {'User-Agent':str(ua.random)}
data = requests.get(searchurl, headers=header, timeout=10)

View File

@ -40,7 +40,7 @@ import pendulum
from jinja2 import Template
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
from urllib.parse import urlencode, urlparse, parse_qsl
from urllib.parse import urlencode, urlparse, parse_qsl, quote_plus
try:
from supybot.i18n import PluginInternationalization
@ -57,7 +57,8 @@ class YouTube(callbacks.Plugin):
def dosearch(self, query):
try:
url = None
searchurl = "https://www.google.com/search?&q={0} site:youtube.com".format(query)
searchurl = "https://www.google.com/search?&q="
searchurl += quote_plus("{0} site:youtube.com".format(query))
ua = UserAgent(fallback="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0")
header = {'User-Agent':str(ua.random)}
data = requests.get(searchurl, headers=header, timeout=10)