2014-09-05 3 views
-4
import requests 
from bs4 import BeautifulSoup 
r = requests.get('https://www.google.com/finance?q=NSE%3Awipro') 
r.content 
bt = BeautifulSoup(r.content,"lxml") 
span = bt.find_all('span',class_="pr") 
span[0].contents 
span1= span[0].contents 
res = span1[1].contents 
chg = bt.find_all('span', class_="chg") 
res1 = chg[0].contents[0] 
res2 = chg[1].contents[0] 
print "Last Trading Price :" + str(res) 
print "change:"    + str(res1) 
print "Change in: %"   + str(res2) 

Это мой program.when запустить эту программу, это только показать данные в реальном времени и бросить .i хотите сохранить жив,, как поддерживать в запросах

+0

Что вы подразумеваете под * keep alive it *? Вы должны быть более ясными в своих ожиданиях. Программа не должна уходить? Что должно произойти вместо этого? –

+0

i, что держать в живых request.When мы запускаем программу, это покажет мне, что время data.i хочу данные conntinue ... Надеюсь, вы понимаете, что говорят..Мой английский не так стены –

+0

Нет, я не понимаю, что ты имеешь в виду. HTTP - это протокол без состояния, здесь нет «живых». Это звучит так, как будто вы хотите, чтобы ваши запросы повторялись, чтобы показать изменения с течением времени, но это очень широкий предмет; мы не можем помочь вам разобраться в стратегии, чтобы сделать это здесь, мы можем помочь вам реализовать стратегию только после того, как вы ее выбрали. –

ответ

2

Используйте сеанс requests.session при выполнении вашего запроса.

import requests 

session = requests.session() 
r = session.get('https://www.google.com/finance?q=NSE%3Awipro') 
r.content 
... 
r = session.get('https://www.google.com/finance?q=NSE%3Awipro') 

Соединение будет оставаться открытым, и последующие запросы на тот же сервер, используя тот же сеанс, будут использовать это же соединение. Обратите внимание, что на удаленном сервере могут быть таймауты, которые могут выбрать закрытие соединения после короткого (ишевого) периода времени (например, 5-15 секунд)

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