#Importing Libraries
import pandas as pd
import numpy as np
import datetime
import time
from datetime import datetime
import bs4
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
#Dataframe creation
Data = pd.DataFrame(columns=['Date', 'Magnitude','Latitude','Longitude', 'Depth', 'Place'])
Dum_DF = pd.DataFrame(columns=['Date', 'Magnitude','Latitude','Longitude', 'Depth', 'Place'])
#Loop over each year
for k in range(30):
year = 1900 + k
print('Executing K: '+ str(k))
try:
url = "https://earthquake.usgs.gov/fdsnws/event/1/query?format=xml&starttime=" + str(year) + "-01-01&endtime=" + str(year) + "-12-31&minmagnitude=5"
browser = webdriver.PhantomJS(executable_path='D:\Anaconda Files\phantomjs')
browser.get(url)
time.sleep(40)
html = browser.page_source
time.sleep(40)
browser.quit()
html = html.encode("utf-8", 'ignore')
soup = BeautifulSoup(html)
except:
print('Error ' + str(k))
j=0
i=0
for i in soup.findAll("text"):
#print('Executing J: '+ str(j))
Place = str(soup.findAll("text")[j].getText())
Latitude = soup.findAll("latitude")[j].getText()
Longitude = soup.findAll("longitude")[j].getText()
try:
Magnitude_L1 = soup.findAll("mag")[j]
Magnitude = Magnitude_L1.findAll("value")[0].getText()
except:
Mag = 0
print('Error Mag J:' +str(j))
Date = soup.findAll("time")[j].getText()
try:
Depth_L1 = soup.findAll("depth")[j]
Depth = Depth_L1.findAll("value")[0].getText()
except:
Depth = 0
print('Error Depth K:' + str(k) + ' J:' +str(j))
Dum_DF = pd.DataFrame( {'Date': [Date], 'Magnitude': [Magnitude],
'Latitude': [Latitude], 'Longitude': [Longitude], 'Depth': [Depth],
'Place': [Place]})
Data = Data.append(Dum_DF)
j=j+1
#SAve Dataframe
Data.reset_index(drop=True, inplace=True)
Data.to_csv(r'D:\Anaconda Files\Earthquakes\Earthquake_History6.csv', decimal=',' , sep='\t', encoding='utf-8')
Data