Python " Traceback (most recent call last) "
Помогите пожалуйста, как решить проблему? Код:
import requests
from bs4 import BeautifulSoup
import csv
HOST = 'https://mmo13.ru/'
URL = 'https://mmo13.ru/games/'
HEADERS = {
'accept': '*/*',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
}
def get_html(url, params =''):
r = requests.get(url, headers=HEADERS, params=params)
return r
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='games-view')
games = []
for item in items:
games.append(
{
'title':item.find('div', class_='title atxt').get_text(),
'link_game': item.find('div', class_='title atxt').find('a').get('href')
}
)
return games
html = get_html(URL)
print(get_content(html.text))
И ошибка:
Traceback (most recent call last):
File "E:\Users\Wottsan\Desktop\Проект\Parser.py", line 32, in <module>
print(get_content(html.text))
File "E:\Users\Wottsan\Desktop\Проект\Parser.py", line 25, in get_content
'title':item.find('div', class_='title_atxt').get_text(),
AttributeError: 'NoneType' object has no attribute 'get_text'
Ответы (1 шт):
Автор решения: Сергей Шашко
→ Ссылка
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='games-view')
games = []
for item in items:
if item.find('div', class_='title atxt') == None:
continue
games.append(
{
'title': item.find('div', class_='title atxt').get_text(),
'link_game': item.find('div', class_='title atxt').find('a').get('href')
}
)
return games