Hacer scraping o crawling de un sitio grande puede generar una gran cantidad de datos para almacenar. Para evitar la duplicación de datos, puede ser mejor utilizar múltiples tablas en una base de datos.
Aquí muestro una forma muy simple de usar lógica condicional con código Python en un spider de Scrapy para enviar datos a diferentes tablas según los valores que se están raspando. Esto está destinado como una visión general para cualquiera que ya haya explorado el web scraping a una base de datos sqlite3 o similar.
🟢 ¡También se discuten los peligros de usar CSV (por ejemplo, Excel)!
El objetivo de este video es inspirarte a explorar las posibilidades de usar una base de datos, múltiples tablas y hacer web scraping de una manera más estructurada, y considerar cuál será el propósito eventual de tus datos y cómo podrían ser utilizados/interrogados.
Si esto ha sido de interés, el siguiente paso será aprender sobre SQL y la creación de tablas.
Gracias por ver.
Dr. Pi.
'Illegitimi non carborundum'
def parse_item(self, response):
wsearch = ['train','murder']
lstitle = []
x = response.url
booktitle = str(x)
booktitle = booktitle.split("/")[4]
booktitle = booktitle.split("_")[0]
[lstitle.append(i) for i in booktitle.split("-")]
check = any(item in wsearch for item in lstitle)
if check is True:
myquery = """INSERT INTO links (url,book)
values(%s,%s)
"""
val=(x,booktitle)
cursor.execute(myquery,val)
mydb.commit()
else:
myquery = """INSERT INTO links2 (url,book)
values(%s,%s)
"""
val=(x,booktitle)
cursor.execute(myquery,val)
mydb.commit()
#webscraping #sqlite #database