吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1739|回复: 5
收起左侧

[求助] scrapy 爬取数据后 如果实现外键的插入

[复制链接]
xiaomayi2012 发表于 2019-7-3 12:06
scrapy 爬取数据后通过pipelines插入数据,在表中有外键,这个外键数据该如何插入数据库中?求教,谢谢


表设计如下:
category表:
id,
category


info表:
id,
name,
image,
category_id


求教在Pipelines中如何请问,怎么实现根据category_id 外键 插入数据!

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

VioletKiss 发表于 2019-7-3 16:22
本帖最后由 VioletKiss 于 2019-7-3 16:26 编辑

两种方法:

1. 先插category表,再插info表,另外 try except插入category表的主键冲突异常就行

2. 再加一张关联表,不设主键,然后去重
 楼主| xiaomayi2012 发表于 2019-7-4 09:18
VioletKiss 发表于 2019-7-3 16:22
两种方法:

1. 先插category表,再插info表,另外 try except插入category表的主键冲突异常就行

在Pipelines 里面item只能一个一个的插入,如果不用外键的话,数据中例如抓取电视剧多个ur播放l链接这种情况有什么好的解决方案吗
VioletKiss 发表于 2019-7-4 09:46
本帖最后由 VioletKiss 于 2019-7-4 09:48 编辑
xiaomayi2012 发表于 2019-7-4 09:18
在Pipelines 里面item只能一个一个的插入,如果不用外键的话,数据中例如抓取电视剧多个ur播放l链接这种 ...

是这样吗:https://blog.csdn.net/lucky404/article/details/79427304

既然都有数据了,插就完事了呀
如果说item中有info和category表的所有数据,那么你就先判断categoryId存不存在,不存在插category表,存在就不插,然后插info表就行了啊

主要是 item 里面是些什么数据 这才是主要的 你没说啊
 楼主| xiaomayi2012 发表于 2019-7-4 13:31
本帖最后由 xiaomayi2012 于 2019-7-4 13:36 编辑
VioletKiss 发表于 2019-7-4 09:46
是这样吗:https://blog.csdn.net/lucky404/article/details/79427304

既然都有数据了,插就完事了呀
...

我现在在item中已经获取到了数据,item下通过Debug模式 获取到的数据格式如下:

title = ‘反贪风暴4’
category= ['动作片','犯罪片']
...

downloads={
                {'title': '标题1',
                '磁力链接':'magnet:?xt=urn:btih:B9781903F8D37F91001D',
                 '迅雷链接':'thunder://QUFtYWduZXQ6P3h0PXVybjpidGloOk'},
               {'title': '标题2',
                '磁力链接':'magnet:?xt=urn:btih:B9781903F8D37F91001D',
                 '迅雷链接':'thunder://QUFtYWduZXQ6P3h0PXVybjpidGloOk'},
}


现在item返回的 category值是一个列表形式  download值是一个字典,因为下一步我想把这些数据存入到mysql中,这种情况在Pipelines中我该如何存储
VioletKiss 发表于 2019-7-4 15:28
你如果想简单点,一张表,就直接存字符串,查询分类的时候用like查,如果同时查多个分类就and多几次like就行

如果你想分两张表存,那么就要再加一张中间表,info表和category表是多对多的关系,需要一张中间表来保持各自对应的id :
表设计如下:
category表:
category_id,
category_name

info表:
info_id,
name,
image,
category_id

中间表:info_category
info_id,
category_id

中间表可以用这两个id作为联合主键
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-12 18:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表