Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在从网站抓取数据时发生错误时阻止python脚本退出_Python_Python 3.x - Fatal编程技术网

如何在从网站抓取数据时发生错误时阻止python脚本退出

如何在从网站抓取数据时发生错误时阻止python脚本退出,python,python-3.x,Python,Python 3.x,我编写了一个python脚本,以1分钟的间隔从网站上抓取数据。但有时会发生错误,脚本将退出。是否有任何方法可以避免脚本在错误发生后退出 我的代码: from requests import Session import pandas as pd from bs4 import BeautifulSoup import re def get_option_chain(symbol, expdate): if symbol == 'NIFTY': Base_url = (&

我编写了一个python脚本,以1分钟的间隔从网站上抓取数据。但有时会发生错误,脚本将退出。是否有任何方法可以避免脚本在错误发生后退出

我的代码:

 from requests
 import Session
 import pandas as pd
 from bs4 import BeautifulSoup
 import re 

 def get_option_chain(symbol, expdate):

  if symbol == 'NIFTY':
  Base_url = ("https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?symbol="+symbol+"&date="+expdate)

  

  new_table = pd.DataFrame(columns=col_hdrs_name)

 

  print(new_table)

  new_table.to_csv('Option_Chain_Table_{}.csv'.format(symbol))

 get_option_chain('NIFTY','17OCT2019')


schedule.every(1).minutes.do(get_option_chain,'NIFTY','17OCT2019')

while 1:
        schedule.run_pending()
        time.sleep(1)
错误:

Exception ('Connection aborted.', RemoteDisconnected('Remote end closed connection without 
response')) in getting data  for symbol NIFTY
Traceback (most recent call last):
 File "C:\Python\Python37\NSE scrape fata.py", line 70, in <module>
schedule.run_pending()
File "C:\Python\Python37\lib\site-packages\schedule\__init__.py", line 563, in run_pending
default_scheduler.run_pending()
File "C:\Python\Python37\lib\site-packages\schedule\__init__.py", line 94, in run_pending
 self._run_job(job)
File "C:\Python\Python37\lib\site-packages\schedule\__init__.py", line 147, in _run_job
 ret = job.run()
File "C:\Python\Python37\lib\site-packages\schedule\__init__.py", line 466, in run
 ret = self.job_func()
File "C:\Python\Python37\NSE scrape fata.py", line 41, in get_option_chain
soup = BeautifulSoup(page.content, 'html.parser')
UnboundLocalError: local variable 'page' referenced before assignment
异常('Connection aborted')、RemoteDisconnected('Remote end closed Connection without'
获取符号NIFTY的数据时的响应)
回溯(最近一次呼叫最后一次):
文件“C:\Python\Python37\NSE scrape fata.py”,第70行,在
schedule.run_pending()
文件“C:\Python\Python37\lib\site packages\schedule\\uuuuu init\uuuuu.py”,第563行,正在运行中
默认\u计划程序。运行\u挂起()
文件“C:\Python\Python37\lib\site packages\schedule\\uuuuu init\uuuuuu.py”,第94行,正在运行中
自我运行作业(作业)
文件“C:\Python\Python37\lib\site packages\schedule\\uuuuu init\uuuuu.py”,第147行,在运行作业中
ret=job.run()
文件“C:\Python\Python37\lib\site packages\schedule\\uuuu init\uuuu.py”,第466行,正在运行
ret=self.job_func()
文件“C:\Python\Python37\NSE scrape fata.py”,第41行,在get\u option\u链中
soup=BeautifulSoup(page.content,'html.parser')
UnboundLocalError:赋值前引用的局部变量“page”

是的,您可以使用
尝试…除了

来自请求导入会话的

作为pd进口熊猫
从bs4导入BeautifulSoup
进口稀土
导入时间
def get_选项_链(符号,expdate):
如果symbol=='NIFTY':
基本url=(“https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?symbol=“+symbol+”&date=“+expdate)
新表格=pd.DataFrame(列=列hdrs\U名称)
打印(新表格)
新建表格到csv('Option_Chain_table_{}.csv'.格式(符号))
获取选项链('NIFTY','2019年10月17日')
计划。每(1)分钟。做一次(获取选项链,'NIFTY','2019年10月17日')
而1:
尝试:
schedule.run_pending()
时间。睡眠(1)
除:
持续
另外,您没有导入
time
模块,而是使用了
time.sleep(1)
。所以,输入时间。
我也建议您阅读。

您是否打算向我们展示导致异常的真实代码?