Python with statement - SyntaxError:解析时意外的EOF

时间:2017-05-05 03:21:59

标签: python csv web-scraping with-statement

我正在尝试编写代码来遍历网站上的~90k页面以便抓取数据,而我正试图开始使用“with”语句。我的csv文件有一个名为“Symbol”的列,如果需要,我可以分享。

我知道这是一个语法错误,但我看不出错误是什么。我已经尝试将最后一行更改为其他内容,但我总是得到同样的错误。我在另一个帖子中读到“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行     打印( “万岁!”)                     ^ SyntaxError:解析时意外的EOF

1 个答案:

答案 0 :(得分: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!')