#python #web-scraping #beautifulsoup
#python #веб-очистка #beautifulsoup
Вопрос:
Я видел различные примеры на stackoverflow.com но ничто не решает мою проблему, у меня есть следующий сайт: https://meme-api.herokuapp.com/gimme .
На этом сайте есть предварительный тег и текст внутри него, но когда я пытаюсь получить текст внутри предварительного тега, он возвращает только []
код:
requester = {'User-Agent': 'Mozilla/5.0'}
req=Request("https://meme-api.herokuapp.com/gimme",headers=requester)
u =urlopen(req)
soup = BeautifulSoup(u.read(), features="lxml")
text = soup.find('pre')
print(text)
вывод: []
Ответ №1:
URL возвращает JSON
so BeautifulSoup
, здесь мало что поможет.
Попробуйте это:
import requests
r = requests.get("https://meme-api.herokuapp.com/gimme").json()
print(r['title'], r['url'])
Вывод: Pls send help https://i.redd.it/67scdl09rkn51.jpg
И весь ответ выглядит так:
{'postLink': 'https://redd.it/iu4q6f', 'subreddit': 'memes', 'title': 'Pls send help', 'url': 'https://i.redd.it/67scdl09rkn51.jpg', 'nsfw': False, 'spoiler': False, 'author': 'deinie', 'ups': 9787}
Ответ №2:
поскольку ваш код возвращает выходные данные, поскольку {"postLink":"https://redd.it/iu9v3o","subreddit":"me_irl","title":"me_irl","url":"https://i.redd.it/b4ccrc396mn51.jpg","nsfw":false,"spoiler":false,"author":"TheNBplant","ups":43}
здесь нет предварительного тега. таким образом, результат равен none.