Scrapy请求传参

Posted huanggaoyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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组件 请求传参,post请求,中间件

scrapy入门请求传参和中间件

Scrapy请求传参

scrapy框架之日志等级和请求传参

scrapy框架之日志等级和请求传参

scrapy请求传参,提高爬取效率,fake-useragent