from bs4 import BeautifulSoup as BS
import requests
import psycopg2
import os
def pages():
host = 'https:// www. tripadvisor .ru/'(Пробелы поставлены нарочно)
pages1 = 'Hotels-g298507-oa'
pages2 = '--St_Petersburg_Northwestern_District-Hotels.html'
template = '{}{}{}{}'
countpages = 0
for h in range(0, 152):
url = template.format(host, pages1, countpages, pages2)
responce = requests.get(url).text
html = BS(responce, 'html.parser')
for href in html.select('.ui_column'):
a = href.select("a")
text = href.find_all('span', class_='text').text
if len(a) > 0:
print (a[0].text)
print (text)
countpages = (h * 10) * 3
if __name__ == '__main__':
os.system('clear')
pages()
Есть такой код, выдается ошибка в моменте с
text = href.find_all('span', class_='text').text
. Ошибка:
ResultSet object has no attribute 'text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?
Дело в том, что на странице в классом "text" есть 2-3 атрибута(стоят рядом), я не знаю как вытащить только текст из этих атрибутов, нужна помощь