如何在Scrapy中使用keep-alive连接相同的域?

时间:2018-05-31 12:37:49

标签: scrapy twisted

我在scrapy中使用相同域抓取时使用不同请求之间的相同连接,这可能会减少蜘蛛时的SYN时间。

我尝试过这些设置:

DEFAULT_REQUEST_HEADERS={"connection":"keep-alive"}

KEEP_ALIVE=True

CONCURRENT_REQUESTS_PER_DOMAIN

但他们没有用。

我已经阅读了scrapy中的一些代码并且扭曲了,我注意到使用了getConnect函数来复用一个存在的连接,而scrapy使用这个扭曲的函数来处理连接池,但我现在不知道为什么这些请求没有使用存在的连接。

1 个答案:

答案 0 :(得分:-1)

您可以在标题中设置

headers  = { 'Connection' : 'Keep-Alive' }
request = Request(link, headers=headers)

了解更多信息:

Learning about the HTTP “Connection: keep-alive” header