如果脚本失败,如何在抓取时存储数据?

时间:2014-05-02 08:18:34

标签: python web-scraping

我正在做一些网页抓取(实际上是使用网络服务进行地理编码)并将结果写入文件:

for i, row in enumerate(data):
  data[0] = url
  output = {}
  try: 
    r = requests.get(url)
    if r.status_code == 200:
      results = r.json()
      if results:
        output['Lat'] = results['wgs84_lat']
        output['Lng'] = results['wgs84_lon']
        writer.writerow(output)
  except:
    pass

我的问题是,如果出现问题,我必须停止这个过程,最后我会写一个半写的文件。

然后我有两个选择:我可以从头重新开始(繁琐的一百万行到地理编码),或者我可以添加样板代码来检查输出文件中是否已存在该行,如果是这样则跳过它。

我觉得必须有一种更方便的方法来检查是否已经获得了该行。最好的,最恐怖的方式是什么?也许pickle(我从未使用过?

0 个答案:

没有答案