Задать вопрос
@Ekaterina200

Почему при парсинге из сайта погоды выдает ошибку?

здравствуйте, помогите пожалуйста.
парсинг с сайта https://pogoda.by/
почему выдает ошибку:
line 11, in
print(names.text)
AttributeError: 'NoneType' object has no attribute 'text'

код:
import requests
from bs4 import BeautifulSoup as bs

url = 'https://pogoda.by/'
r = requests.get(url)
#print(r.text)

soup = bs(r.text, 'html.parser')
names = soup.find('span', class_='max')
print(names.text)
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
А вы смотрели что выдает print(r.text)?
Там же нет тега span, тем более с классом max
Что выдает print(r.text)
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Pogoda.by</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <link rel="icon" type="image/x-icon" href="favicon.ico">

  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
  <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
  <meta name="msapplication-TileColor" content="#2d89ef">
  <meta name="theme-color" content="#ffffff">

  <script src="assets/vector/geotiff.min.js"></script>
  <script src="assets/vector/raster-marching-squares.min.js"></script>
  <script src="assets/vector/d3v4min.js"></script>
  <script src="assets/vector/leaflet.snogylop.js"></script>
  <!-- <link rel="stylesheet" href="assets/bvi/css/bvi.min.css" type="text/css"> -->
  <script src="//cdnjs.cloudflare.com/ajax/libs/chroma-js/2.1.0/chroma.min.js"></script>


  <script src="//ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link rel="stylesheet" href="styles.429bca14b37c04408ad1.css"></head>
<body>
  <app-root></app-root>
  
<script src="runtime-es2015.9f64180b7a137b9fb1af.js" type="module"></script><script src="runtime-es5.9f64180b7a137b9fb1af.js" nomodule defer></script><script src="polyfills-es5.56962ea23a6f94f28602.js" nomodule defer></script><script src="polyfills-es2015.a846a1af9cbca4e97d27.js" type="module"></script><script src="main-es2015.ebaac924e487b1264a00.js" type="module"></script><script src="main-es5.ebaac924e487b1264a00.js" nomodule defer></script></body>
</html>

Из ответа видно что все данные подгружаются скриптами. Тут BeautifulSoup вам не поможет, смотрите в сторону Selenium
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы