一.
在用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不会开启