Scrapy spider代码片段

from  scrapy.spider import  BaseSpider
from  scrapy.selector  import  HtmlXPathSelector

class  MySpider(BaseSpider):
    name  =  'myspider'
    start_urls  =  (
         'http://' ,
         'http://' ,
        )
     def  parse( self , response):
         # collect `item_urls`
         for  item_url  in  item_urls:
             yield  Request(url = item_url, callback = self .parse_item_list)
     def  parse_item_list( self , response):
        item  =  MyItem()
         # populate `item` fields
         yield  Request(url = item_details_url, meta = { 'item' : item},
            callback = self .parse_details)
     def  parse_details( self , response):
        item  =  response.meta[ 'item' ]
         # populate more `item` fields
         return  item


from  scrapy.contrib.linkextractors.sgml  import  SgmlLinkExtractor
class  MininovaSpider(CrawlSpider):
    name  =  ''
    allowed_domains  =  [ '' ]
    start_urls  =  [ '' ]
    rules  =  [Rule(SgmlLinkExtractor(allow = [ '/tor/\d+' ])),
             Rule(SgmlLinkExtractor(allow = [ '/abc/\d+' ]), 'parse_torrent' )]
     def  parse_torrent( self , response):
        x  =  HtmlXPathSelector(response)
        torrent  =  TorrentItem()
        torrent[ 'url' =  response.url
        torrent[ 'name' =  x.select( "//h1/text()" ).extract()
        torrent[ 'description' = x.select( "//div[@id='description']" ).extract()
        torrent[ 'size' =  x.select( "//div[@id='info-left']/p[2]/text()[2]" ).extract()
         return  torrent
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值