1. class MovieSpider(scrapy.Spider):
  2. name = 'movie'
  3. allowed_domains = ['www.id97.com']
  4. start_urls = ['http://www.id97.com/']
  5.  
  6. def parse(self, response):
  7. div_list = response.xpath('//div[@class="col-xs-1-5 movie-item"]')
  8.  
  9. for div in div_list:
  10. item = MovieproItem()
  11. item['name'] = div.xpath('.//h1/a/text()').extract_first()
  12. item['score'] = div.xpath('.//h1/em/text()').extract_first()
  13. #xpath(string(.))表示提取当前节点下所有子节点中的数据值(.)表示当前节点
  14. item['kind'] = div.xpath('.//div[@class="otherinfo"]').xpath('string(.)').extract_first()
  15. item['detail_url'] = div.xpath('./div/a/@href').extract_first()
  16. #请求二级详情页面,解析二级页面中的相应内容,通过meta参数进行Request的数据传递
  17. yield scrapy.Request(url=item['detail_url'],callback=self.parse_detail,meta={'item':item})
  18. def parse_detail(self,response):
  19. #通过response获取item
  20. item = response.meta['item']
  21. item['actor'] = response.xpath('//div[@class="row"]//table/tr[1]/a/text()').extract_first()
  22. item['time'] = response.xpath('//div[@class="row"]//table/tr[7]/td[2]/text()').extract_first()
  23. item['long'] = response.xpath('//div[@class="row"]//table/tr[8]/td[2]/text()').extract_first()
  24. #提交item到管道
  25. yield item

scrapy 请求传参的更多相关文章

  1. scrapy请求传参-BOSS反爬

    scrapy请求传参-BOSS反爬 思路总结 首先boss加了反爬 是cookies的 爬取的内容为职位和职位描述 # -*- coding: utf-8 -*- import scrapy from ...

  2. Scrapy请求传参

    scrapy.Request(url=url, callback=self.parse_item, meta={'item': item}, headers=headers) url: 要请求的地址 ...

  3. 爬虫scrapy组件 请求传参,post请求,中间件

    post请求 在scrapy组件使用post请求需要调用 def start_requests(self): 进行传参再回到 yield scrapy.FormRequest(url=url,form ...

  4. scrapy (三) : 请求传参

    scrapy 请求传参 1.定义数据结构item.py文件 ''' field: item.py ''' # -*- coding: utf-8 -*- # Define here the model ...

  5. 13.scrapy框架的日志等级和请求传参

    今日概要 日志等级 请求传参 如何提高scrapy的爬取效率 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是s ...

  6. scrapy框架的日志等级和请求传参

    日志等级 请求传参 如何提高scrapy的爬取效率 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息 ...

  7. scrapy框架之日志等级和请求传参-cookie-代理

    一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志信息的种类: ERROR : 一般错误 ...

  8. Scrapy的日志等级和请求传参

    日志等级 日志信息:   使用命令:scrapy crawl 爬虫文件 运行程序时,在终端输出的就是日志信息: 日志信息的种类: ERROR:一般错误: WARNING:警告: INFO:一般的信息: ...

  9. 爬虫开发10.scrapy框架之日志等级和请求传参

    今日概要 日志等级 请求传参 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志 ...

随机推荐

  1. yii2.0 ActiveRecord 查询汇总

    User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->w ...

  2. lmbench andlmbench 移植测试

    /*********************************************************************** * lmbench andlmbench 移植测试 * ...

  3. ThreadLocal工具类 隔离思想

    ThreadLocal不是用来解决共享对象的多线程访问问题的, 通过ThreadLocal的set()方法设置到线程的ThreadLocal.ThreadLocalMap里的是是线程自己要存储的对象, ...

  4. 【SCOI 2005】 互不侵犯

    [题目链接] 点击打开链接 [算法] 和HDU2167类似 先搜出一行内符合的状态,然后,f[i][j][k]表示第i行,第j种状态,放了k个,合法的方案,DP即可 [代码] #include< ...

  5. U-Boot编译过程完全分析

    2.1       U-Boot Makefile分析 2.1.1             U-Boot编译命令 对于mini2440开发板,编译U-Boot需要执行如下的命令: $  make  m ...

  6. bzoj3631 [JLOI2014]松鼠的新家——树上差分

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3631 树上差分:注意路径的结尾被多算了一次,最后要减去(不能提前减). 代码如下: #inc ...

  7. saltstack源码-启动1

    决定看salt的源码了.干脆就从最基本的看起来,先看它的启动过程开始第一步用/etc/init.d/salt-master start 启动找到那个文件,发现有3种启动方式,suse,debian,c ...

  8. property_get 与 property_set 的返回值(转载)

    转自:http://wzw19191.blog.163.com/blog/static/13113547020103218265162/ /* property_get: returns the le ...

  9. E20180228-hm-xa

    bounds n. 界限; 界限; 出界; 在(某人允许进入的)界限以外; 出格的; 跳跃( bound的名词复数 ); (球等的) 反跳; indice  n. 指数(指指标, 如健康指数的指数); ...

  10. HDU3853:LOOPS(概率DP)

    传送门 题意 从(i,j)走到(i,j),(i,j+1),(i+1,j)的概率为p[i][j][1],p[i][j][2],p[i][j][3],花费2魔力,问从(1,1)走到(r,c)的期望 分析 ...