Tengo un script en Python que los nombres de dominio raspaduras. Me acaba de analizar la respuesta JSON, ya que hace que el código html. Solía pandas para leer el html y obtener el body
que es el contenido HTML. Traté de imprimirlo y luego me dieron los valores correctos. Ahora que lo tengo, quiero salvar a todos los resultados en una base de datos MySQL. ¿Cómo podría lograrlo?
Aquí está mi script
mydb = mysql.connector.connect(
host="localhost",
user="root",
passwd="",
database='domainscrape'
)
mycursor = mydb.cursor()
print(mydb)
pageNumber = 0
while True:
driver.implicitly_wait(3)
driver.get('https://reversewhois.domaintools.com/?ajax=mReverseWhois&call=ajaxGetPreviewPage&q=%5B%5B%5B%22whois%22%2C%222%22%2C%22VerifiedID%40SG-Mandatory%22%5D%5D%5D&o='+str(pageNumber))
time.sleep(3)
pre = driver.find_element_by_tag_name("pre").text
data = json.loads(pre)
if data['body']:
table = data['body']
tables = pd.read_html(table,skiprows=1)
df = tables[-1]
print(df.to_string(index=False))
pageNumber += 1
continue
else:
break
Tengo un resultado como este
0vh-cl0ud.sg 2017-10-12 KEY-SYSTEMS GMBH
0vh-cloud.sg 2017-10-12 KEY-SYSTEMS GMBH
0vhcloud.sg 2017-10-12 KEY-SYSTEMS GMB
Intentado guardarlo en un archivo CSV y me dieron buenos resultados
df.to_csv('Domains.csv', mode='a', sep=',',index=False)
pero no quiero importar CSV a MySQL. Sólo quiero insertar directamente las filas de una tabla de datos existente en el mismo.
¿Cómo podría formatearlo como 0vh-cl0ud.sg
es el dominio 2017-10-12
es la fecha y KEY-SYSTEMS GMBH
es la empresa? No DIT incluyo la cabecera ya que en cada iteración se imprime el encabezado y no realmente no quiero.
Debe ser algo como esto:
mycursor = mydb.cursor()
mycursor.execute("INSERT INTO table_name(domain, date, company) VALUES ('0vh-cl0ud.sg', '2017-10-12', 'KEY-SYSTEMS GMBH'))"
Esta pieza debe ser puesto en el bucle después se raspa los datos. Por favor, vaya a través de los mencionados enlaces en los comentarios de tener una mejor comprensión del proceso.