Как использовать keep-alive соединение с тем же доменом в Scrapy? - PullRequest
0 голосов
/ 31 мая 2018

Я хочу использовать одно и то же соединение между разными запросами во время сканирования с одним и тем же доменом в scrapy, потому что это может сократить время SYN, когда spider.

Я пробовал эти настройки:

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

KEEP_ALIVE=True

CONCURRENT_REQUESTS_PER_DOMAIN

но они не работали.

Я прочитал некоторый код в scrapy и twisted, я заметил, что twisted используют функцию getConnect для мультиплексирования существующего соединения, и scrapy использует эту twisted функцию для работы с пулом соединений, но я не знаю, почему эти запросыне используйте существующее соединение.

1 Ответ

0 голосов
/ 31 мая 2018

Вы можете установить его в своих заголовках

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

Для получения дополнительной информации:

Изучение HTTP-заголовка «Connection: keep-alive»

...