Проблема я столкнулся в том, что Scrapy код, в частности, трубопровод представляет меня с ошибкой программирования mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement'
Scrapy ProgrammingError: Не были использованы все параметры в операторе SQL
Это мой код для трубопровода:
import csv
from scrapy.exceptions import DropItem
from scrapy import log
import sys
import mysql.connector
class CsvWriterPipeline(object):
def __init__(self):
self.connection = mysql.connector.connect(host='localhost', user='test', password='test', db='test')
self.cursor = self.connection.cursor()
def process_item(self, item, spider):
self.cursor.execute("SELECT title, url FROM items WHERE title= %s", item['title'])
result = self.cursor.fetchone()
if result:
log.msg("Item already in database: %s" % item, level=log.DEBUG)
else:
self.cursor.execute(
"INSERT INTO items (title, url) VALUES (%s, %s)",
(item['title'][0], item['link'][0]))
self.connection.commit()
log.msg("Item stored : " % item, level=log.DEBUG)
return item
def handle_error(self, e):
log.err(e)
Это дает мне эту точную ошибку, когда я запускаю паука. http://hastebin.com/xakotugaha.py
Как вы можете видеть, он четко сканирует, поэтому я сомневаюсь в чем-то неправильном с пауком.
В настоящее время я использую Scraw web crawler с базой данных MySql. Спасибо за вашу помощь.
Я вижу, как хотелось бы идти об этом? он работал раньше, но почему-то переставал работать. Это код паука, если он вам нужен: http://hastebin.com/yalivovifo.py – CharlieC
ah, делает 'для sel в response.xpath ('// article/div [2]/div/header/h1/a '): 'есть какая-либо разница по сравнению с этим? 'sel = Selector (response)' – CharlieC
@CharlieC это просто, что вам нужно получить экземпляры экземпляра изнутри цикла для каждой ссылки. Надеюсь, что все сработает. – alecxe