关于scrapy.Request()里的meta参数问题

来源:4-11 scrapy中为什么要使用yield

wuzhimou

2019-12-11

老师,为什么image_url要用meta来传入?它的逻辑是怎样的?谢谢!

图片描述

写回答

1回答

bobby

2019-12-12

这个很好理解,你有这个疑问应该是你认为yield之后的request运行完以后下一行代码就应该是运行到parse_detail了,如果这样理解就没有理解到scrapy的异步高并发特点。这两个函数你可以简单理解为两个进程(实际上不是)。两个进程间通信是比较麻烦的,这样做为了把上一个进程的变量传递给下一个进程使用

0
2
bobby
回复
weixin_慕标2352120
是的 meta的作用就是把传输传递给返回结果之后的处理逻辑,由于scrapy是异步io框架,无法像同步的代码一样直接传递参数,所以这里需要这样传递参数
2021-03-30
共2条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程