При парсинге объявлений выходит ошибка о ненайденном атрибуте find.
spoilerimport requests
import pandas as pd
from bs4 import BeautifulSoup
from time import sleep
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}
def get_url():
for i in range(0, 1):
sleep(5)
url = f"https://habarovsk.cian.ru/cat.php?deal_type=sale&engine_version=2&from_developer=1&object_type%5B0%5D=2&offer_type=flat&only_flat=1&p={i}®ion=5039&year%5B0%5D=2025&year%5B1%5D=2026&year%5B2%5D=2027&year%5B3%5D=2028&yeargte=2029"
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "lxml") # html.parser
data = soup.find_all("div", class_="_93444fe79c--container--kZeLu _93444fe79c--link--DqDOy")
for i in data:
card_url = i.find("a").get("href")
yield card_url
for card_url in get_url():
response = requests.get(card_url, headers=headers)
soup = BeautifulSoup(response.text, "lxml")
data = soup.find("div", class_="a10a3f92e9--page--OYngf")
name = data.find('h1').text
print(name)
сама ошибка
spoilerC:\Users\Денис\PycharmProjects\PythonProject3\.venv\Scripts\python.exe C:\Users\Денис\PycharmProjects\PythonProject3\parser.py
Продается 3-комн. квартира, 74,6 м²
Traceback (most recent call last):
File "C:\Users\Денис\PycharmProjects\PythonProject3\parser.py", line 28, in <module>
name = data.find('h1').text
^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'find'
Process finished with exit code 1
Что интересно он например сейчас отпарсил один заголовок одного объявления, а иногда может больше, а иногда сразу выдает ошибку.
По коду он сначала находит все ссылки на странице, а потом идет по ссылкам и тянет данные из каждого объявления.
Если проверить ссылки, то он может также запнуться тоже где угодно
spoilerC:\Users\Денис\PycharmProjects\PythonProject3\.venv\Scripts\python.exe C:\Users\Денис\PycharmProjects\PythonProject3\parser.py
https://habarovsk.cian.ru/sale/flat/301393558/
https://habarovsk.cian.ru/sale/flat/307252257/
https://habarovsk.cian.ru/sale/flat/302210025/
https://habarovsk.cian.ru/sale/flat/306976675/
https://habarovsk.cian.ru/sale/flat/309973282/
https://habarovsk.cian.ru/sale/flat/314584143/
https://habarovsk.cian.ru/sale/flat/310806759/
https://habarovsk.cian.ru/sale/flat/314005085/
https://habarovsk.cian.ru/sale/flat/313554189/
https://habarovsk.cian.ru/sale/flat/306921407/
https://habarovsk.cian.ru/sale/flat/309962786/
https://habarovsk.cian.ru/sale/flat/296300456/
https://habarovsk.cian.ru/sale/flat/314080012/
Traceback (most recent call last):
File "C:\Users\Денис\PycharmProjects\PythonProject3\parser.py", line 29, in <module>
name = data.find('h1').text
^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'find'
Process finished with exit code 1
Хотя все заголовки по всем проверенным ссылкам в коде есть