python爬虫为什么下载图片和下载音乐不起作用 5C

图片说明代码如下:
class MyimagePipeline(ImagesPipeline):
20 ----
21 def get_media_request(self, item, spider):
22 for url_tmp in item["singer_img"]:
23 if url_tmp != '':
24 yield Request(url=url_tmp, meta={"item":item, "file_name":item["singer_img_path"]})
25 ----
26 def file_path(self, request, response=None, info=None):
27 item = request.meta["item"]
28 image_name = item["singer_name"]+".jpg"
29 dir_name = request.meta["file_name"]
30 dir_name = re.sub(r'[?\*|"<>:/]', '', name)
31 filename = u'{0}/{1}'.format(dir_name, image_name)
32 print('=='*20)
33 print(filename)
34 print('=='*20)
35 return filename
配置文件设置如下:
67 ITEM_PIPELINES = {
68 #'mp3.pipelines.Mp3Pipeline': 300,
69 #'mp3.pipelines.MyfilePipeline': 150,
70 'mp3.pipelines.SongPipeline': 100,
71 'mp3.pipelines.MyimagePipeline': 4,
72 }
73 IMAGES_STORE='/root/workspace/pcap/mp3/mp3/File/'

注意:
其中spider中已经将所有定义要提取的数据已经获取到了,其中MyfilePipeline是将提取出来的数据写在文件里边这个是没有问题的,剩下的两个SongPipeline和MyimagePipeline分别为下载歌曲和下载图片的,使用pdb在这两个类中打断点代码不会进去

3个回答

其中spider中已经将所有定义要提取的数据已经获取到了

是不是对方做了防盗链啊

xirurensheng_123
xirurensheng_123 我使用requests下载数据没有问题的
大约 2 年之前 回复

你yield返回的url有问题。第一次是能进去,后面你没有更新要爬取的url库

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐