记录scrapy中遇到的坑

一.
在用imagepipeline下载图片时重复url不会被下载, 但是我就要要重复下载
刚开始用了dont_filter=True发现没用.上网找了下,网上说要注释imagepipeline的爷爷
MediaPipeline中的_process_request方法中的

# Return cached result if request was already seen
        if fp in info.downloaded:
            return defer_result(info.downloaded[fp]).addCallbacks(cb, eb)
# Check if request is downloading right now to avoid doing it twice
        if fp in info.downloading:
            return wad

在这里插入图片描述
注释掉图中的两个就可以重复下载图片了
注释掉了会报一些错误但是不影响下载图片

目前没找到更好的办法,只能修改源码了

二.
scrapy发送json数据问题

	headers={'Content-Type': 'application/json'}
	scrapy.FormRequest(url, formdata=data, headers=headers)
	这种方法不能发送json数据
	要用到body参数发送json数据
	data = json.dumps({"text": i['_id']})
	FormRequest(url, method='post', body=data, headers=headers)
	这样就可以发送json数据了

三.
在使用ImagePipeline下载图片时一定要在settings里设置
IMAGES_STORE
如IMAGES_STORE = ‘./image’
不然图片pipeline不会开启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值