2015-02-04 4 views
1

Я хочу проанализировать несколько (около 180) страниц с одного сайта. В питоне я делаю так:Запросить несколько страниц на каком-либо сайте, используя одно соединение с запросами python

def myFunc(pages): 
forreturn=[] 
session=requests.session() 
for page in pages: #List, containing page addresses 
    url = 'http://example.com/' + page 
    # we get something like 'http://example.com/sub1/page.html' 
    # Ant the part with "sub1" is different each time. 
    answer = session.get(url) 
    soup=Soup(answer.text) 
    # There we parse needed string and append it to "forreturn" list 
return forreturn 

Как я понял, когда делать, как это, я хочу открыть новое соединение с сервером, когда новая страница запрашивается. Итак, есть ли способ, чтобы все страницы использовали только одно соединение?

(это может улучшить получение времени Быстродействие и сервер напряжения будет ниже, так как я думаю)

+0

Фикс отступы пожалуйста. –

+1

В соответствии с документами вы получаете его «бесплатно» при использовании запросов. Сессия: http://docs.python-requests.org/en/latest/user/advanced/#keep-alive – FlorianLudwig

ответ

1
  1. Под HTTP 1.0, вы можете сделать это более явно.

    session.get (URL, заголовки = { 'Подключение': 'Keep-Alive'})

  2. В HTTP 1.1, все соединения считаются стойкими, если не заявлено иначе.

  3. Как @FlorianLudwig обмолвился с http://docs.python-requests.org/en/latest/user/advanced/#keep-alive, что "держать-жив 100% автоматически в течение сеанса"

 Смежные вопросы

  • Нет связанных вопросов^_^