Скорее всего, нужный вам контент скрыт с помощью сценариев JS.Наша библиотека request
- это то, что не беспокоит эти JS-скрипты и извлекает содержимое, которое будет видно вам в вашем JS-режиме без поддержки вашего браузера.Эта проблема может быть решена с помощью библиотеки selenium
.Он позволяет вам загружать вашу веб-страницу и ее содержимое, как и любой другой браузер, который вы используете.Отсюда немного обходного пути с использованием Selenium:
from selenium import webdriver
#Initiate your browser
browser = webdriver.Firefox()
#It's Firefox in my case, you can have Chrome or Safari or Opera, depending upon the webdriver you have installed in your system
url = 'https://twitter.com/search?f=images&vertical=news&q=Iran'
#Fetch the URL in the 'browser'
browser.get(url)
#Get the page source of the browser
soup = BeautifulSoup(browser.page_source, 'html.parser')
#This page source is pretty similar to the one you see in your inspect element
browser.close() #'browser' has finished it's work, so 'close()' it
#Now apply whatever function you wish to on the webpage
spans = soup.findAll("span", {"class": lambda x: x and x.startswith('Adaptive')})
print(spans)