Possible Duplicate:
convert list to string to insert into my sql in one row in python scrapy
我试图将从HTML页面提取的数据直接写入MySQL数据库。但是,过去有效的代码现在不再有效了。有人能帮我吗?
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//ul/li')
con = MySQLdb.connect(
host="localhost",
user="dreamriks",
passwd="dreamriks",
db="scraped_data"
)
cur = con.cursor()
for site in sites:
items = [site.select('//h2').extract()]
item = [site.select('//h3').extract()]
meta = [site.select('//meta').extract()]
for index in range (len( items)): #<-- exception raises here
str = items[index]
cur.execute("""Insert into h2_meta(h2) Values(%s)""",(str))
con.commit()
con.close()
上面的代码给出了以下错误:
exceptions.UnboundLocalError: local variable 'items' referenced before assignment
如果
for site in sites:
由于sites
为空而不迭代,则items
永远不会初始化。当您在
for index in range (len( items)):
中引用它时,代码假定items
已被初始化。你的契约破了。缩进块
还有四个空间。
你好像有缩进的问题。
for index in range(len(items))
是for site in sites
循环的部分,对吧?相关问题 更多 >
编程相关推荐