首页 > 解决方案 > 挂起获取请求以及如何解决问题

问题描述

这是一个示例代码,它工作正常,除了在几行结果之后它挂起的事实,然后我只需要手动重新启动它,“如果存在”部分捕捉到那时完成的工作,然后继续.

现在我的问题是,我怎样才能自动化它,这样我就不必再次手动运行它以在它挂起后继续运行?

可以避免上吊吗?我想不会。

def store_chart_info(year, player_source_path, dest_path):
'''Creates a chart-info table for the players in year X.'''
for fn in os.listdir(player_source_path):
    compl_name= 'chart_mv_' + name +'_' + id +'.html'
    if compl_name in os.listdir(dest_path):
        print(f'{id} exists already')
    else:
        name= fn[7:fn.rfind('_')]
        id= fn[fn.rfind('_')+1:-5]
        page = 'https://www.transfermarkt.co.uk/'+ name + '/marktwertverlauf/spieler/' + id
        headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:63.0) Gecko/20100101 Firefox/63.0'}
        market_value = requests.get(page, headers = headers)
        time.sleep(0.2)
        soup_mv = BeautifulSoup(market_value.content, 'html.parser')
        print(name)
        with open(dest_path + '/chart_mv_' + name +'_' + id +'.html', 'w', encoding='utf-8') as f:
                                f.write(str(soup_mv))
print(f'############{year} charts stored succesfully! #############')

标签: pythonbeautifulsouppython-requestsgetfreeze

解决方案


推荐阅读