Я пытаюсь собрать информацию с веб-сайта, написанного на html.Ниже приведен мой код:
#Import packages
import urllib.request
from bs4 import BeautifulSoup
import pandas as pd
import csv
#For loop to scrap details of power plants
lst=[]
for i in range(1,46624):
pid=str(i)
url="http://www.globalenergyobservatory.com/form.php?pid=" + pid
page=urllib.request.urlopen(url)
soup=BeautifulSoup(page,'html.parser')
#Distinguish power plants to different types of primary fuel
types=soup.find(id="Type")
power_types=types["value"]
#No of units of power plant
unit=soup.find(id="Abstract_Block")
unit_breakdown_describe=unit.get_text()
#Name of power plant
name=soup.find(id="Name")
name_value=name["value"]
#Status of power plant
status1=soup.find(id="Status_of_Plant_enumfield_itf")
status2=status1.find(selected="selected")
status=status2["value"]
#Latitude & longitude of power plant
lat=soup.find(id="Latitude_Start")
latitude=lat["value"]
long=soup.find(id="Longitude_Start")
longitude=long["value"]
#Capacity of power plant
cap=soup.find(id="Design_Capacity_(MWe)_nbr")
capacity=cap["value"]
lst.append([name_value,status,power_types,capacity,latitude,longitude,unit_breakdown_describe])
df=pd.DataFrame(lst) #Convert to dataframe for storage
df.columns=['Name','Status','Type_of_power_plant','Capacity','Latitude','Longitude','no_of_units']
#Convert to csv file
df.to_csv('power.csv',sep='\t')
Я пытаюсь очистить информацию и поместить ее в DataFrame
для преобразования в файл csv
.Хотя я не обнаружил никаких ошибок при попытке запустить соответствующие значения (например, print (емкость)), ошибка появилась, когда я пытаюсь преобразовать в файл csv
.Я понимаю, что есть похожие темы, но я надеюсь, что любая помощь будет высоко оценена.