1.概念

1.构造请求,scrapy.Request(url,callback)
callback:指定解析函数名称,表示该请求返回的响应使用哪一个函数进行解析
2.把请求交给引擎:yield scrapy.Request(url,callback)

API

scrapy.Request(url[,callback,method="GET",headers,body,cookies,meta,dont_filter=False])

1.中括号里的参数为可选参数
2.callback:表示当前的url的响应交给哪个函数去处理,callback=self.parse一般都是交给自身的parse函数处理
3.meta:实现数据在不同的解析函数中传递,meta默认带有部分数据,比如下载延迟,请求深度等
4.dont_filter:默认为False,会过滤请求的url地址,即请求过的url地址不会继续被请求,对需要重复请求的url地址可以把它设置为Ture,比如贴吧的翻页请求,页面的数据总是在变化;start_urls中的地址会被反复请求,否则程序不会启动
5.method:指定POST或GET请求
6.headers:接收一个字典,其中不包括cookies
7.cookies:接收一个字典,专门放置cookies
8.body:接收json字符串,为POST的数据,发送payload_post请求时使用(在下一章节中会介绍post请求)

meta

meta的作用:meta可以实现数据在不同的解析函数中的传递
meta参数是一个字典
meta字典中有一个固定的键proxy,表示代理ip,

在爬虫文件的parse方法中,提取详情页增加之前callback指定的parse_detail函数:

def parse(self,response):...yield scrapy.Request(detail_url, callback=self.parse_detail,meta={"item":item})
...def parse_detail(self,response):#获取之前传入的itemitem = resposne.meta["item"]

其他

  1. 可以在settings中设置ROBOTS协议
# False表示忽略网站的robots.txt协议,默认为True
ROBOTSTXT_OBEY = False
  1. 可以在settings中设置User-Agent:
# scrapy发送的每一个请求的默认UA都是设置的这个User-Agent
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'

scrapy Request相关推荐

  1. Scrapy框架的学习(5.scarpy实现翻页爬虫,以及scrapy.Request的相关参数介绍)

    1. 创建爬虫项目 : scrapy startporject tencent  然后进入到项目中: cd tencent    创建爬虫:scrapy genspider tencent_spide ...

  2. Scrapy - Request 和 Response(请求和响应)

    Requests and Responses:http://doc.scrapy.org/en/latest/topics/request-response.html Requests and Res ...

  3. scrapy-实现下一页请求, scrapy.Request

    scrapy-实现下一页请求, scrapy.Request # -*- coding: utf-8 -*- import scrapyclass HrSpider(scrapy.Spider):na ...

  4. scrapy.Request使用meta传递数据,以及deepcopy的使用

    scrapy.Request(url[,callback,method="GET",headers,body,cookies,meta,dont_filter=False]) 参数 ...

  5. scrapy.Request callback不执行

    上一篇博客介绍了Scrapy Post Request payload数据的问题,本篇记录一下scrapy.Request callback不执行的问题. 1.大家都说的解决方式,虽然没有解决我的问题 ...

  6. scrapy.request

    https://doc.scrapy.org/en/latest/topics/request-response.html#request-objects 参数 说明 describe url?(st ...

  7. request设置请求头_收藏 Scrapy框架各组件详细设置

    今天说一下Scrapy框架各组件的详细设置. 关于Scrapy Scrapy是纯Python语言实现的爬虫框架,简单.易用.拓展性高是其主要特点.这里不过多介绍Scrapy的基本知识点,主要针对其高拓 ...

  8. python 爬虫 scrapy 和 requsts 哪个快_Python爬虫:Scrapy研读之Request/Reponse

    本帖最后由 shenzhenwan10 于 2016-6-17 07:52 编辑 1,引言 在前一篇Scrapy:python3下的第一次运行测试 中,我们以官网的tutorial为例,成功的运行了S ...

  9. Scrapy中Request的回调函数不执行

    一. 举例 def parse(self, response):...yield Request(url=parse.urljoin(response.url, title_herf), meta=m ...

最新文章

  1. 中国IT潜在的巨大希望
  2. python登录网站后爬取数据_用 Python 登录主流网站,我们的数据爬取少不了它
  3. [转]微信小程序开发需要注意的29个坑
  4. SpringBoot实现国际化
  5. 零基础开始学 Web 前端开发,有什么建议吗?
  6. MySQL group_concat函数使用详解
  7. GIT代码管理: git remote add
  8. 在spring中使用自定义的PropertyEditor
  9. 简单的小愿望,就这么难实现
  10. 如何使用Flutter开发web应用
  11. 5分钟快速安装ASP.NET Core 网站运行环境
  12. TensorRT学习(1):通过pth生成wts文件
  13. 《2023新一代数字办公白皮书》正式发布!| 爱分析报告
  14. 如何用vba把word文档的每页单独保存为一个word文档
  15. Diskgenius分区简单教程
  16. golang中获取字符串长度的办法
  17. 整理的一些 Vue3 知识点,初学者看完就能上手做项目
  18. mysql geo_地理位置geo处理之mysql函数
  19. %p 打印地址?它打印的是变量值!什么是格式化输出,指针与地址的区别
  20. 你的样子抖音版,架子鼓版

热门文章

  1. (篇三)C语言的冒泡排序多解、选择排序、数组合并、矩阵相加
  2. cmd中python -V版本显示不出来
  3. armgcc交叉编译的文件无法运行_[阿里巴巴(校招/社招)] 虚拟机与编译器团队招人啦~ (JVM / GCC / LLVM 方向)...
  4. paypal账户授权返回_OAuth授权|精选博客
  5. 微课|Python程序设计开发宝典(5.2.2):默认值参数
  6. 关于举办“全国大学生大数据技能竞赛”的通知
  7. Python使用numpy计算矩阵特征值、特征向量与逆矩阵
  8. Linux系统升级维护费,Antergos Linux 宣布停止维护
  9. centos 6.8 mysql 5.6_Mysql(5.6.35)在Linux(Centos 6.8)上安装
  10. 【caffe学习】caffe第二个比较典型的识别例子CIFAR_10的运行详解