Изучаю Python путем написания парсера для сайта. Пока только первого. Тестовые (учебные) страницы по парсингу уже прошел.
Теперь мне для работы нужно спарсить сайт с мебельными фабриками. Уже удалось вытащить название, адрес, телефон, сайт (было самое сложное т.к. адрес сайта зашифрован и находится в атрибуте тега). Дальше столкнулся с новой проблемой, которую пока не удается решить самому из-за недостатка знаний.
Дело в том что некоторые карточки не имеют ссылки на сайт. И когда код доходит до этой карточки, то появляется ошибка. Если кто знает в чем дело - помогите пожалуйста! Если есть еще какие-нибудь комментарии по существующему коду, рад буду выслушать… Ниже код парсера:
import requests from bs4 import BeautifulSoup import base64 URL = 'https://rnd.spravker.ru/mebelnyie-fabriki/' page = requests.get(URL) soup = BeautifulSoup(page.content, "lxml") items = soup.find_all('div', class_='org-widget__in') for i in items: # выводим данные из карточек с html кодом itemName = i.find('h3', class_='org-widget-header__title') itemAdress = i.find('span', class_='org-widget-header__meta org-widget-header__meta--location') itemPhone = i.find('dd', class_='spec__value') DATAURL = i.find("span", class_="js-pseudo-link").get("data-url") base64_message = DATAURL base64_bytes = base64_message.encode('UTF-8') message_bytes = base64.b64decode(base64_bytes) message = message_bytes.decode('UTF-8') print(itemName.text.strip()) print(itemAdress.text.strip()) print(itemPhone.text.strip()) print(message) print()