码迷,mamicode.com
首页 > 其他好文 > 详细

08. 脱缰的野马 crawlspider

时间:2019-10-19 18:50:26      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:span   link   处理   流程   col   发送请求   raw   page   crawl   

基于crawlspider的全站数据爬取

  1.spider的子类

  2 .使用流程

    创建一个基于CrawlSpider的爬虫文件  scrapy genspider -t crawl spidername

import scrapy 
from scrapy.spider.crawl import CrawlSpider, Rule
fromm scrapy.linkextractors import LinkExtractor

class myspider(CrawlSpider):
    name = pra_crawlspider
    start_urls = [ http://pic.netbian.com/ ]
    rules = [
         #实例化一个Rule ( 规则解析器 ) 的对象
         Rule(LinkExtractor(restrict_xpaths=//div[@class="page"]), callback="parse_item", follow=True)             
    ]
    
    def parse_item( self, response ) : 
        imgs = response.xpath( //div[@class="slist"]//img )
        for  img in imgs:
            print(img.xpaht(./@src)).extract_first()
            print(img.xpath(./@alt)).extract_first()

  蜘蛛运行后,先访问start_url给定的第一个页面, 将响应对象res返回给parse方法, parse方法会根据rules指定的规则从res中提取url继续发送请求, 响应对象res会传递给callback指定的函数去处理.

08. 脱缰的野马 crawlspider

标签:span   link   处理   流程   col   发送请求   raw   page   crawl   

原文地址:https://www.cnblogs.com/zhangjian0092/p/11704687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!