1、创建项目和spider文件
2、设置url 然后测试
3、不行就需要改为False
4、获取标签链接和文件url
5、pipelines
配置:
配置会生成file文件夹
因为在父类中调用了
源码:
from scrapy.pipelines.files import FilesPipeline
from urllib.parse import urlparse
import os
class LoadfilePipeline(FilesPipeline):
##重新设置父类的方法
def file_path(self, request, response=None, info=None):
# urlparse方法可以对一个url进行拆分,拆分后其结果如下:
path = urlparse(request.url).path # 获取ss/cc/xx/aa.jpg中的xx
print(request.url) # https://matplotlib.org/examples/user_interfaces/toolmanager.py
print(path) #/examples/user_interfaces/toolmanager.py
print(urlparse(request.url))
#ParseResult(scheme='https', netloc='matplotlib.org', path='/mpl_examples/statistics/violinplot_demo.py', params='', query='', fragment='')
# 把存储文件路径设置为xx文件夹,aa.jpg文件
return os.path.join(os.path.basename(os.path.dirname(path)), os.path.basename(path)) # /animation/histogram.py
# path = ss/cc/xx/aa.jpg
# basename(path) 就是 aa.jpg
# dirname(path) ss/cc/xx
# oin(basename(dirname(path)) 就是 xx