python - 爬虫被服务器终止后自动重启
问题描述
我正在尝试构建一个类似于arxiv-sanity但使用更高级算法的学术论文推荐系统。第一步是请求 arXiv 服务器并获取所有元数据以进行进一步处理。
但是,我写的爬虫经常被arXiv服务器终止,即使我设置time.sleep(10)
了,10
(我认为)持有爬虫的时间相对较长。幸运的是,由于我的爬虫依赖于 URL 中的索引,我可以保存idx
并稍后重新运行程序。所以这是我的问题:如何在爬虫终止后自动重新运行我的爬虫。
import time
import requests
area = "cat:cs.ML+OR+cat:cs.CV"
for idx in range(0, 10000, 100):
base_url = "http://export.arxiv.org/api/query?"
query = "search_query={}&sortBy=lastUpdatedDate&start={}&max_results={}".format(area, idx, 100)
response = requests.get(base_url + query)
# do some processing
time.sleep(10)