在我学会了爬网并能够将数据插入mysql之后
Insert multiple Scrapy data into mysql
当我插入多个爬网数据时,我发现了另一个问题,因为冗余数据(重复数据)过多,mysql中的数据变大了
我试图使INSERT具有WHERE NOT EXIST条件,就像我在php中所做的那样,但在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
答案 0 :(得分:0)
该错误与重复的引号有关。之所以会这样,是因为您为查询字符串中的最后一个变量添加了自己的val updatedLinuxScript
引号。这些报价会自动添加,因此请删除它们:
String