Scrapy请求传参
scrapy.Request(url=url, callback=self.parse_item, meta={'item': item}, headers=headers)
url: 要请求的地址
callback:响应成功之后的回调函数
meta: 参数传递
headers: 定制头信息,一般不用
# -*- coding: utf-8 -*-
'''
要抓取的数据部分在一级页面、一部分在二级页面
'''
import scrapy
from movie.items import MovieItem
class MvSpider(scrapy.Spider):
# 爬虫文件的名字
name = 'mv'
# 允许的域名
allowed_domains = ['www.ygdy8.net']
# 起始的url
start_urls = ['http://www.ygdy8.net/html/gndy/dyzz/index.html']
def parse(self, response):
a_list = response.xpath('//div[@class="co_content8"]//table//a')
for a in a_list:
title = a.xpath('./text()').extract_first()
href = 'http://www.ygdy8.net' + a.xpath('./@href').extract_first()
movie = MovieItem(title=title)
# callback是执行的方法 meta是响应时候携带的参数
yield scrapy.Request(url=href,callback=self.parse_detail,meta={'movie':movie})
def parse_detail(self,response):
movie = response.meta['movie']
src = response.xpath('//div[@id="Zoom"]//p[1]/img[1]/@src').extract_first()
movie['src']=src
yield movie
Scrapy请求传参的更多相关文章
- scrapy请求传参-BOSS反爬
scrapy请求传参-BOSS反爬 思路总结 首先boss加了反爬 是cookies的 爬取的内容为职位和职位描述 # -*- coding: utf-8 -*- import scrapy from ...
- scrapy 请求传参
class MovieSpider(scrapy.Spider): name = 'movie' allowed_domains = ['www.id97.com'] start_urls = ['h ...
- 爬虫scrapy组件 请求传参,post请求,中间件
post请求 在scrapy组件使用post请求需要调用 def start_requests(self): 进行传参再回到 yield scrapy.FormRequest(url=url,form ...
- scrapy (三) : 请求传参
scrapy 请求传参 1.定义数据结构item.py文件 ''' field: item.py ''' # -*- coding: utf-8 -*- # Define here the model ...
- 13.scrapy框架的日志等级和请求传参
今日概要 日志等级 请求传参 如何提高scrapy的爬取效率 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是s ...
- scrapy框架的日志等级和请求传参
日志等级 请求传参 如何提高scrapy的爬取效率 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息 ...
- scrapy框架之日志等级和请求传参-cookie-代理
一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志信息的种类: ERROR : 一般错误 ...
- Scrapy的日志等级和请求传参
日志等级 日志信息: 使用命令:scrapy crawl 爬虫文件 运行程序时,在终端输出的就是日志信息: 日志信息的种类: ERROR:一般错误: WARNING:警告: INFO:一般的信息: ...
- 爬虫开发10.scrapy框架之日志等级和请求传参
今日概要 日志等级 请求传参 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志 ...
随机推荐
- 对于树的序列化,用了stream,很好
https://leetcode.com/problems/serialize-and-deserialize-binary-tree/?tab=Description 下面这个解法里面的C++部分很 ...
- SWT自定义选项卡CTabFolder
SWT自定义选项卡CTabFolder 学习了:http://blog.csdn.net/dreajay/article/details/17391731 package com.swt; impor ...
- Irrlicht 3D Engine 笔记系列 之 教程6- 2D Graphics
作者:i_dovelemon 日期:2015 / 7 / 1 来源: CSDN 主题:2D Graphics, Irrlicht 教程翻译 本篇教程将要向大家展示怎样使用Irrlicht引擎绘制2D图 ...
- 简单编写makefile文件,实现GCC4.9编译项目,增加boost库測试等等。。
一.须要用到的hw.cpp hw.h funtest.cpp funtest.h makefile 几个測试文件 1.hw.cpp代码例如以下: #include "hw.h" # ...
- Cubieboard学习资源
1.Cubieboard2学习系列学习教程. 2.Cubieboard安装server成功,ssh远程登录. 3.CubieBoard2 A20学习笔记. 4.一个学习CubieTruck的站点. 5 ...
- linux线程间同步(1)读写锁
读写锁比mutex有更高的适用性,能够多个线程同一时候占用读模式的读写锁.可是仅仅能一个线程占用写模式的读写锁. 1. 当读写锁是写加锁状态时,在这个锁被解锁之前,全部试图对这个锁加锁的线程都会被堵塞 ...
- 阿里云X-Forwarded-For 发现tomcat记录的日志所有来自于SLB转发的IP地址,不能获取到请求的真实IP。
1.背景:阿里云的SLB的负载均衡,在tomcat中获取不到真实IP,而是阿里的内网IP,SLB中俩台或者3台本身是局域网,这里是SLB原理,能够看看.没怎么看懂.呵呵,要细细读下. 2.须要开启to ...
- android删除表和清空表
删除某一表: //删除某一个表 public void dropTable(SQLiteDatabase db){ db.execSQL("drop from tab_name") ...
- poj--2385--Apple Catching(状态dp)
Apple Catching Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submi ...
- hdoj--2036--改革春风吹满地(数学几何)
改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...