2017-05-05 73 views
0

我正在尝试编写代码来循环访问网站上的〜90k页以便抓取数据,并且我试图开始使用“with”语句。我的csv文件有一列名为“符号”,我可以分享,如果需要。Python与语句 - SyntaxError:分析时意外的EOF

我知道这是一个语法错误,但我没有看到错误是什么。我已经尝试将最后一行更改为其他内容,但我总是得到相同的错误。我在另一个线程中读到“with”会自动关闭,所以我不知道我该怎么做。

根据我最终的计划,我想写一个循环遍历所有90k网站,抓取数据。我有一些后续步骤的代码,所以如果有更好的方法让我做这一步,我就会对其他解决方案感兴趣。

谢谢!

我的代码:

with open('~/plants_symbols.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     try: 
      rkey = requests.get('https://plants.usda.gov/java/reference' + row['Symbol']) 
      if rkey.status_code == 200: 
       print("hooray!") 

文件 “”,第7行 打印( “万岁”!) ^ 语法错误:意外的EOF在解析

回答

0

您需要except语句添加为您尝试。

像这样:

import requests 

with open('~/plants_symbols.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     try: 
      rkey = requests.get('https://plants.usda.gov/java/reference' + row['Symbol']) 
      if rkey.status_code == 200: 
       print("hooray!") 
     except Exception: 
      print('Error!') 
+0

啊!谢谢!我很高兴这很简单。愚蠢的错误,但在学习过程方面都很棒。 – Edgar

+0

嘿!我试过使用你的修复程序,但我没有得到任何打印输出。我意识到我正在使用“if和you附近的符号”作为except语句的符号,所以我将它们改为uniform,我也缩进了indentation,但它仍然不适用于我。这个我不能让我的打印功能在测试上工作,任何想法? – Edgar

+0

嗨!“尝试”和“带着”看起来像他们可能倒过来,基于我的阅读:http:// stackoverflow .COM /问题/ 5205811 /追赶型的,异常的同时,使用-A-蟒蛇,用语句部分-2 – Edgar