INSERT Scrapy данные после проверки без вставки строки до - PullRequest
0 голосов
/ 20 февраля 2019

После того, как я научился сканировать и смог вставлять данные в mysql

Вставить несколько данных Scrapy в mysql

Я обнаружил еще одну проблему, когда вставляю несколько данных для сканированияданные в mysql становятся большими, потому что существует слишком много избыточных данных (дублирующихся данных)

Я пытался сделать INSERT с условием WHERE NOT EXIST, как я делал в php, но не работал ni python

item1 = quote.css('h2.post-title > a::text').extract_first()
item2 = quote.css('div.entrytext > p::text').extract_first()
item3 = quote.css('div.up-bottom-border > p.postmetadata > 
a::text').extract()
items3 = ', '.join(item3)

Это мой sql

mycursor.execute("INSERT INTO berita (judul, isi, tag) VALUES (%s, %s, %s) WHERE NOT EXISTS (SELECT judul FROM berita WHERE judul like '%s')", (item1, item2, items3, item1))

Я надеюсь, что кто-нибудь поможет мне, так как ошибка продолжает говорить

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS (SELECT judul FROM berita WHERE judul like ''Tanah Longsor di K' at line 1

1 Ответ

0 голосов
/ 20 февраля 2019

Ошибка о двойных кавычках.Вы получаете это, потому что вы добавили свои ' кавычки для последней переменной в строке запроса.Эти цитаты добавляются автоматически, поэтому удалите их:

WHERE NOT EXISTS (SELECT judul FROM berita WHERE judul like %s)

...