Anaconda / Spyder (Python 3.7) показывает AttributeError: объект HTMLParserTreeBuilder не имеет атрибута store_line_numbers. Проблема с Pandas? - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь изучить парсинг веб-страниц, но у меня возникают проблемы с использованием Spyder в Anaconda. Я могу запустить этот код на repl.it и python3 .8 без проблем, но я продолжаю получать одно и то же сообщение об ошибке на spyder: «AttributeError: объект 'HTMLParserTreeBuilder' не имеет атрибута 'store_line_numbers'». Я очень новичок в программировании python, но я потратил много времени, пытаясь определить, почему я не могу запустить свой код. Я действительно видел чью-то проблему, когда у них было что-то похожее, и я попробовал решение «conda install - c conda-forge beautifulsoup4», но у меня все еще есть та же проблема.

Я выполнил conda install beautifulsoup4, requests и pandas

Из того, что я могу сказать, похоже, что есть проблема с pandas, но я не уверен.

Любая помощь будет принята с благодарностью! Я прикрепил весь код ниже!

import pandas as pd
import requests
from bs4 import BeautifulSoup

#Helena, MT Weather
page = requests.get('https://forecast.weather.gov/MapClick.php?lat=46.5898&lon=-112.0206#.Xs8QUDpKjIU')

soup = BeautifulSoup(page.content, 'html.parser')
week = soup.find(id='seven-day-forecast-body')

items = week.find_all(class_='tombstone-container')

period_names = [item.find(class_= 'period-name').get_text() for item in items]
short_descriptions = [item.find(class_= 'short-desc').get_text() for item in items]
temperatures = [item.find(class_= 'temp').get_text() for item in items]
#print(period_names)
#print(short_descriptions)
#print(temperatures)

weather_info = pd.DataFrame(
  {'period':period_names,
  'short_descriptions': short_descriptions,
  'temperatures': temperatures,
  })

print(weather_info)

weather_stuff.to_csv('weather.csv')
...