Fazer scraping ou crawling em um site grande pode gerar uma grande quantidade de dados para armazenar. Para evitar a duplicação de dados, pode ser melhor usar múltiplas tabelas em um banco de dados.
Aqui eu mostro uma maneira muito simples de usar lógica condicional com código Python em um spider Scrapy para enviar dados para diferentes tabelas com base nos valores sendo extraídos. Isso é destinado como uma visão geral para quem já olhou para web scraping em um banco de dados sqlite3 ou similar.
🟢 Os perigos de usar CSV (por exemplo, Excel) também são discutidos!
O objetivo deste vídeo é te dar inspiração para explorar as possibilidades de usar um banco de dados, múltiplas tabelas e web scraping de uma maneira mais estruturada, e considerar qual será o propósito eventual dos seus dados e como eles podem ser usados/interrogados.
Se isso foi do seu interesse, o próximo passo será aprender sobre SQL e criação de tabelas.
Obrigado por assistir.
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