美文网首页
scrapy抓取下载360图片

scrapy抓取下载360图片

作者: 闲睡猫 | 来源:发表于2019-07-21 15:57 被阅读0次

    需求分析

    假设我们要做一个有关美食的网站,需要从360图片库采集一批美食图片,不仅是采集图片的链接,而是将图片下载到本地,引用第三方图片链接总是不可靠的,哪天设置了防盗链,又得重新忙活,还是要放在自己的图床才踏实

    页面分析

    进入360图片库,以美食分类为范例,url为:https://image.so.com/z?ch=food

    下拉浏览器滚动条,在 chrome 的开发者模式中,可捕获到获取数据的请求:

    获取图片数据的请求

    从这些 url 的请求格式,可得出其规律为:https://image.so.com/zjl?ch=food&sn=数量&listtype=new&temp=1 每页的数量为 30 ,url 中的数量取值为 (页数-1)*30

    因此,第一页的url便是:https://image.so.com/zjl?ch=food&sn=0&listtype=new&temp=1 直接访问该url,可得到以下json数据

    json结果解析

    创建项目

    # 创建项目
    $ scrapy startproject image_so
    $ cd image_so
    # 生成爬虫
    $ scrapy genspider images image.so.com
    Created spider 'images' using template 'basic' in module:
      image_so.spiders.images
    

    修改 settings.py 配置文件:

    # 不遵循 robots 协议,如果遵循,绝大多数网站都不能抓取
    ROBOTSTXT_OBEY = False
    ITEM_PIPELINES = {
        # 启用图片下载管道
        'scrapy.pipelines.images.ImagesPipeline': 1,
    }
    # 指定图片下载目录,会自动创建此目录
    IMAGES_STORE = 'download_images'
    

    编写爬虫代码

    相关文章

      网友评论

          本文标题:scrapy抓取下载360图片

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