小编典典

将列表转换为字符串以在python scrapy中的一行中插入我的sql

mysql

我想将列表对象转换为字符串并将此字符串作为一行插入mysql数据库中。有人可以提供解决方案吗?我的代码如下所示:

def parse(self, response):
    hxs = HtmlXPathSelector(response)
    sites = hxs.select('//ul/li')
    for site in sites:
         con = mysqldb.connect(
                    host="localhost",
                    user="dreamriks",
                    passwd="dreamriks",
                    db="scraped_data"
                 )
         cur = con.cursor()
         quest = site.select('//h2').extract()
         ans = site.select('//h3').extract()
         meta = site.select('//meta').extract()
         cur.execute("""Insert into scraped_data(h2, h3, meta) Values(%s,%s,%s)""",(quest,ans,meta))                   
         con.commit()
         con.close()

上面的代码给出以下错误:

File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.14.0.2841-py2.7.egg/scrapy/spider.py", line 62, in parse
        raise NotImplementedError
    exceptions.NotImplementedError:

有人可以帮我解决这个错误。我被困在这里。


阅读 349

收藏
2020-05-17

共1个答案

小编典典

不确定列表在示例代码中的位置,但是您可以使用join以下命令从列表中创建一个字符串:

l = ['The','quick','brown','fox']
s = ''.join(l)
print(s)

给出:

Thequickbrownfox
2020-05-17