作家
登录

基于Python的Scrapy爬虫入门:代码详解

作者: 来源: 2017-11-30 09:07:01 阅读 我要评论

  •  
  •             for img in post.get('images'''): 
  •  
  •                 img_id = img['img_id'
  •  
  •                 url = 'https://photo.tuchong.com/%s/f/%s.jpg' % (item['site_id'], img_id) 
  •  
  •                 item['images'][img_id] = url 
  •  
  •             item['tags'] = [] 
  •  
  •             # 将 tags 处理成 tag_name 数组 
  •  
  •             for tag in post.get('tags'''): 
  •  
  •                 item['tags'].append(tag['tag_name']) 
  •  
  •             items.append(item) 
  •  
  •         return items 
  • 经由这些步调,抓取的数据将被保存在 TuchongItem 类中,作为构造化的数据便于处理及保存。

    前面说过,并不是所有抓取的条目都须要,例如本例中我们只须要 type=”multi_photo 类型的图集,并且图片太少的也不须要,这些抓取条目标筛选操作以及若何保存须要在pipelines.py中处理,该文件中默认已创建类 TuchongPipeline 并重载了 process_item函数,经由过程修改该函数只返回那些相符前提的 item,代码如下:

    1. import scrapy, json 
    2.  
    3. from ..items import TuchongItem 
    4.  
    5. class PhotoSpider(scrapy.Spider): 
    6.  
    7.     name = 'photo' 
    8.  
    9.     # allowed_domains = ['tuchong.com'
    10.  
    11.     # start_urls = ['http://tuchong.com/'
    12.  
    13.  
    14.  
    15.     def start_requests(self): 
    16.  
    17.         url = 'https://tuchong.com/rest/tags/%s/posts?page=%d&count=20&order=weekly'
    18.  
    19.         # 抓取10个页面,每页20个图集 
    20.  
    21.         # 指定 parse 作为回调函数并返回 Requests 请求对象 
    22.  
    23.         for page in range(1, 11): 

        推荐阅读

        摆脱尴尬,我国IPv6加速跑需要“魔鬼步伐”

      CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了 人工智能、大年夜数据、云计算、物联网,其实都是>>>详细阅读


      本文标题:基于Python的Scrapy爬虫入门:代码详解

      地址:http://www.17bianji.com/lsqh/39298.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)