1
Bir json dosyasına kopyaladığım verileri dökmek istiyorum. Zaten iyi bir biçimde (sözlük, liste, dize vb.) Olduğuna inanıyorum Bir json dosyasına nasıl çıktı verebilirim?Python sözlüğünü JSON dosyasına dökme
with open('output.json', 'w') as jsonFile:
json.dump(scrapedData, jsonFile)
Nerede çalışma dizininde output.json
dosyaya sözlüğü yazacağına dair:
#!/usr/bin/python
#weather.scraper
from bs4 import BeautifulSoup
import urllib
import json
def main():
"""weather scraper"""
r = urllib.urlopen("https://www.wunderground.com/history/airport/KPHL/2016/1/1/MonthlyHistory.html?&reqdb.zip=&reqdb.magic=&reqdb.wmo=&MR=1").read()
soup = BeautifulSoup(r, "html.parser")
tables = soup.find_all("table", class_="responsive airport-history-summary-table")
scrapedData = {}
for table in tables:
print 'Weather Philadelphia'
for tr in table.find_all("tr"):
firstTd = tr.find("td")
if firstTd and firstTd.has_attr("class") and "indent" in firstTd['class']:
values = {}
tds = tr.find_all("td")
maxVal = tds[1].find("span", class_="wx-value")
avgVal = tds[2].find("span", class_="wx-value")
minVal = tds[3].find("span", class_="wx-value")
if maxVal:
values['max'] = maxVal.text
if avgVal:
values['avg'] = avgVal.text
if minVal:
values['min'] = minVal.text
if len(tds) > 4:
sumVal = tds[4].find("span", class_="wx-value")
if sumVal:
values['sum'] = sumVal.text
scrapedData[firstTd.text] = values
print scrapedData
if __name__ == "__main__":
main()
Harika teşekkürler! Ayrıca nerede kaydedileceğini nasıl belirleyebileceğimi biliyor musun? Şimdi, otomatik olarak belgelerime kaydeder. – malina
@malina Cevabımı düzenledim. Sorunu çözdüyse lütfen bana bildirin. – Rafael
teşekkür etti :) – malina