如何在请求中保持连接活跃
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)
这是我的程序。当运行这个程序时,它只显示实时数据,然后就结束了。我想让它一直保持运行。
1 个回答
3
在发送请求时,使用一个 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秒)。