关于scrapy中response过滤的问题(非request.url)

来源:12-4 item和pipeline

不肖生

2019-12-09

想请教老师一个问题:

我现在用scrapy爬取网站数据,通过selenium,修改页面参数得到不同的数据(iframe),但是返回的response中,url,body完全是同样的,即初始页面的iframe.default_content,并且body是不能被返回的不同数据替换的,所以导致response被认为是同一个而不被返回。

我打算通过meta返回得到的不同数据,但是返回的结果中只有最后一次的response。所以想请问,如何强制返回同样的response。

已经试过的方法有:

    直接替换body,失败,不可替换;

    response.place(body=body),貌似替换成功,但是到spider中时,又是失败的

    在process_response中修改body,但是取不到meta;

    查看了dupefilters.py,但这是过滤request,似乎也不太行;

如能回答,非常感谢!


写回答

1回答

bobby

2019-12-11

你可以去除reponse中的text,然后修改这个text值 然后使用你的新的text重新实例化一个reponse

0
2
bobby
回复
不肖生
好的,加油
2019-12-12
共2条回复

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2378 学习 · 1158 问题

查看课程