美文网首页
scrapy图片下载

scrapy图片下载

作者: 杜大个 | 来源:发表于2018-11-01 20:15 被阅读0次

    1.图片下载

    第一种:正常那个的发起请求,获取图片的二进制文件,保存
    第二种:自定义图片管道,继承自ImagePipline
    重写两个方法:
    def get_media_request(self,item,spider,...):
    获取图片地址,发起请求
    def item_completed(self,results,spider,item,...):
    在resylts结果中根据图片下载状态,获取图片本地存储的路径.
    将获取的路径赋值给item,让后婧item返回给其他管道

    数据持久化(切记激活管道)

    1.可以自定义数据管道
        def __init__(self,xxx,xxx,xxx,):
            #可以实例化一些参数(比如创建数据库链接,打开文件等等..)
        @classmethod
        def from_crawler(cls,crawler):
            # crawler:包含了爬虫的一些核心组件
            # 可以获取settings中的一些参数
            return cls(xxx,xxx,xxx)
    
        def open_spider(self,spider):
            #可选方法在爬虫开启的时候会调用
        
        def process_item(self,item,spider):
            #所有的item都会经过这个方法
            # 在这里做数据持久化(pymongo,pymysql)
            if isinstance(item,类名):
                # 做数据插入操作
            elif isinstance(item,类名):
                # 做数据插入操作
        # 方法二
            1.在item对应的类中,我们定义一个方法,
            返回sql语句和要插入的数据
            2.使用item调用这个方法,得到sql语句和要插入的数据
            3.执行插入操作
            
    
            return item(如果要将item传递给下一个管道,必须要return item))
        def close_spider(self,spider):
            #在爬虫结束的时候调用
            # 在这里关闭数据库链接,关闭文件
    

    scrapy shell 交互式终端使用

    scrapy shell 链接
    

    scrapy.spider:

    customer_settings:个爬虫文件可以根据这个参数做自定义的参数设置会覆盖settings.py文件中设置的全局参数
    
    def start_requests():
        # 根据起始url发起请求
    
    def parse(self,response):
        # 得到响应的回调函数
    

    spiders文件夹下存放的是爬虫文件
    items.py:根据目标网站,定义要提取的目标字段
    pipeline.py:做数据的过滤和持久化
    middlware.py:下载中间件和爬虫中间件
    settings.py:在里面做User-Agent的配置,headers,激活管道文件

    scrapy.cfg:配置文件,一般情况下做爬虫部署的使用会用到6

    相关文章

      网友评论

          本文标题:scrapy图片下载

          本文链接:https://www.haomeiwen.com/subject/nocfxqtx.html