在写了搜寻器文件,项目文件,点线文件等之后,我想编写一个具有抓取性的搜寻器。我想将数据保存到数据库中,但是发现item ['url的数据类型']实际上是字符串类型,该字符串包含列表,我无法获取内部数据,也找不到问题所在。
import pymysql
from . import settings
class JumiaspiderPipeline(object):
def __init__(self):
self.conn=pymysql.connect(
host=settings.MYSQL_HOST,
db=settings.MYSQL_DBNAME,
user=settings.MYSQL_USER,
passwd=settings.MYSQL_PASSWORD,
charset='utf8',
use_unicode=False
)
self.cursor=self.conn.cursor()
def process_item(self, item, spider):
self.insertdata(item)
return item
def insertdata(self,item):
sql="insert into jumia_scrapy (url) values (" +item['url']+")"
print(sql)
print(type(item['url'])
self.cursor.execute(sql)
self.conn.commit()
为什么item['url']
的类型为str?我无法获取列表数据。
答案 0 :(得分:0)
使用更简单的管道,例如SQLAlchemy或基于SQLAlchemy的数据集。
答案 1 :(得分:0)
您应该在项目解析函数中分配如下网址。
item["url"] = response.url