This is a script that created in Jupyter Notebook and exported as a Python Script that runs on a server once a day. It parses a website that builds a nice data frame/CSV that then appends to a point feature service. Line 134 should work for your workflow. Hope that helps.
import bs4 as bs
import urllib.request
import pandas as pd
import numpy as np
from arcgis.gis import GIS
from arcgis import features
from copy import deepcopy
import arcpy
source = urllib.request.urlopen('https://smoke.azdeq.gov/').read()
soup = bs.BeautifulSoup(source,'lxml')
table = soup.table
table = soup.find('table')
table_rows = table.find_all('tr')
for tr in table_rows:
td = tr.find_all('td')
row = [i.text for i in td]
print(row)
dfs = pd.read_html('https://smoke.azdeq.gov/',header=0)
for df in dfs:
print(df)
df.head()
df['Location'] = df['Location'] .astype(str).str.replace(r"[\(\)']", '')
lat = []
lon = []
for row in df['Location']:
try:
lat.append(row.split(',')[0])
lon.append(row.split(',')[1])
except:
lat.append(np.NaN)
lon.append(np.NaN)
df['latitude'] = lat
df['longitude'] = lon
df['latitude'] = df['latitude'].apply(lambda x: ' '.join(x.split(' ')[1:]))
del df['Location']
df.head()
df.to_csv(r'C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\CSV\ADEQ_RX_Burns1.csv', encoding='utf-8', index=False)
gis = GIS("https://www.arcgis.com", "Your Username", "Your Password")
print("Logged in as " + str(gis.properties.user.username))
arcpy.management.XYTableToPoint(r"C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\CSV\ADEQ_RX_Burns1.csv", r"C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\New File Geodatabase.gdb\ADEQ_RX_Burns1", "longitude", "latitude", None, "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]];-400 -400 1000000000;-100000 10000;-100000 10000;8.98315284119521E-09;0.001;0.001;IsHighPrecision")
arcpy.management.CalculateField(r"C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\New File Geodatabase.gdb\ADEQ_RX_Burns1", "Ignition_Date", "datetime.datetime.now()", "PYTHON3", '', "TEXT")
arcpy.management.Append(r"'C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\New File Geodatabase.gdb\ADEQ_RX_Burns1'", "https://services6.arcgis.com/l7uujk4hHifqabRB/arcgis/rest/services/ADEQ_RX_Burns1/FeatureServer/0", "NO_TEST", r'Smoke_Unit_Number "Smoke Unit Number" true true false 2147483647 Text 0 0,First,
arcpy.management.Delete(r"'C:\Code\Python\Web_Scraping\ADEQ_RX_Burns\New File Geodatabase.gdb\ADEQ_RX_Burns1'", '')