Есть проблема с моим кодом или ошибки при использовании BeautifulSoup?

Как исправить код для вывода текста со страницы https://thelastgame.ru/category/logic/ при помощи библиотек requests и BeautifulSoup?
  • 14 сентября 2023 г. 14:37
Ответы на вопрос 2
Для исправления кода и вывода текста с указанной страницы нужно выполнить следующие шаги:

1. Установить необходимые библиотеки, если они еще не установлены. Выполните команды:
```
pip install requests
pip install beautifulsoup4
```

2. Импортировать библиотеки в ваш код:
```python
import requests
from bs4 import BeautifulSoup
```

3. Создать GET-запрос к странице и получить содержимое страницы:
```python
url = 'https://thelastgame.ru/category/logic/'
response = requests.get(url)
content = response.content
```

4. Создать объект BeautifulSoup и указать парсер для разбора HTML-кода:
```python
soup = BeautifulSoup(content, 'html.parser')
```

5. Найти нужный элемент на странице (например, заголовок):
```python
title = soup.find('h1', class_='entry-title').text
print(title)
```

6. Найти все элементы определенного класса (например, тексты статей) и вывести их:
```python
articles = soup.find_all('div', class_='entry-content')
for article in articles:
    print(article.text)
```

Полный код будет выглядеть следующим образом:
```python
import requests
from bs4 import BeautifulSoup

url = 'https://thelastgame.ru/category/logic/'
response = requests.get(url)
content = response.content

soup = BeautifulSoup(content, 'html.parser')

title = soup.find('h1', class_='entry-title').text
print(title)

articles = soup.find_all('div', class_='entry-content')
for article in articles:
    print(article.text)
```

Обратите внимание, что в коде я предложил найти заголовок статьи и все тексты статей. Вы можете настроить поиск на ваше усмотрение в зависимости от структуры и маркеров на странице.
Строчка `poisk = bs.findAll("div", class_="grid-wrapper")` ищет элементы с классом "grid-wrapper". Однако, похоже, это является идентификатором, а не классом.

Строка `'text': pois.find("a", class_='post-title entry-title').get_text(strip=True)` ищет элемент `a` (ссылку) с классом "post-title entry-title". Однако, похоже, это является элементом `h2`.

Готовый код:

```python
import requests
from bs4 import BeautifulSoup

url = "https://thelastgame.ru/category/logic/"
r = requests.get(url)
bs = BeautifulSoup(r.content,'html.parser')

poisk = bs.findAll("h2", class_="post-title entry-title")
spisok = []

for pois in poisk:
    spisok.append({
        'text': pois.get_text(strip=True)
    })

for spis in spisok:
    print(spis['text'])
```

Надеюсь, это помогло.
Похожие вопросы