Я хочу просканировать весь html_code в url и взять их в db MySQL.Ошибка подключения Mysql с scrapy
Но у меня есть ошибка. Ошибка 1054: Неизвестный столбец «$
Я перепробовал много способов, но не могу исправить ошибку. Это заставило меня занять много времени. Я просто изучаю курс лечения. Надеюсь, что все могут помочь мне исправить это. Спасибо
Spider_find.py
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from find.items import WebsiteLoader, FindItem
from scrapy.loader import ItemLoader
class FindSpider(BaseSpider):
name = "find"
allowed_domains = ["tratu.soha.vn"]
start_urls = [
"http://tratu.soha.vn/dict/vn_vn/Sang",
]
def parse(self, response):
item = FindItem()
sel = response.xpath('//*')
item['html_code'] = sel.xpath('//*').extract()[0]
#print item['html_code']
print "CODE HEREEEEEEEEEEEEEEEEEEEEEEEEEEEEe"
yield item
pipelines.py
from datetime import datetime
import hashlib
import scrapy
from scrapy.exceptions import DropItem
from twisted.enterprise import adbapi
import sys
import MySQLdb
class MySQLStorePipeline(object):
host = 'localhost'
user = 'root'
password = 'success'
db = 'find2'
def __init__(self):
self.conn = MySQLdb.connect(self.host, self.user, self.password, self.db)
self.cursor = self.conn.cursor()
def process_item(self, item, spider):
try:
#self.cursor.execute("""INSERT INTO find2.website(html_code) VALUES ({0})""".format((item['html_code'].encode('utf8'))))
self.cursor.execute("""INSERT INTO `find2`.`website`(`html_code`) VALUES (`${0}`)""".format((item['html_code'].encode('utf8'))))
self.conn.commit()
except MySQLdb.Error, e:
print "ERRRRRRRRRRRRRRRRRRRRRRRRRRRRRO"
print "Error %d: %s" %(e.args[0], e.args[1])
return item
Это сделало бы этот вопрос гораздо более полезным, когда вы уменьшаете стену код (который полностью не связан с проблемой) с [MVCE] (http://stackoverflow.com/help/mcve) ... – flaschbier
В следующий раз я обращу внимание. Спасибо – Yato