Я хочу очистить данные с сайта, но получаю одну ошибку. Поскольку я новичок в изучении веб-страниц, прошу рассказать, как решить эту проблему. вот проблема, с которой я сталкиваюсь UnboundLocalError: локальная переменная «суп», на которую ссылаются перед присваиванием
, вот мой код:
import requests
from bs4 import BeautifulSoup
import csv
def get_page(url):
response = requests.get(url)
if not response.ok:
print('server responded:', response.status_code)
else:
soup = BeautifulSoup(response.text, 'html.parser') # 1. html , 2. parser
return soup
def get_detail_page(soup):
try:
title = (soup.find('h1',class_="ProductTitle-title",id=False).text)
except:
title = 'Empty Title'
try:
title = (soup.find('h1',class_="TopBar-perUnit TopBar-perUnitTop",id=False).text)
except:
price = 'Empty price'
try:
img = (soup.find('img',class_="ViewSelectorItem-image",id=False).get('src'))
except:
img = 'Empty img'
data = {
'Title' : title,
'Price' : price,
'Img' : img
}
print(data)
def main():
url = "https://www.zazzle.com/60th_silver_diamond_anniversary_photo_invitations-161837951427094549"
get_detail_page(get_page(url))
if __name__ == '__main__':
main()