Запуск в TypeError с программой проверки URL
Я аналитик данных (читай: идиот), который должен составлять и проверять большое количество URL-адресов для целевых страниц отеля.
Я пытаюсь создать программу, которая будет принимать CSV из URL-адресов, совпадающих с идентификаторами отелей, пинговать URL-адрес и возвращать, был ли пинг успешным (на основе кода состояния).
Когда приходит время передать URL и идентификатор отеля в мою функцию проверки URL, я получаю следующий код ошибки:
TypeError: "'file' object has no attribute '__getitem__'"
Мой код ниже - эта ошибка возникает в строке 46. Я считаю, что это связано с тем, как я передаю значения из CSV в эту функцию. Есть ли правильный способ справиться с этим здесь?
#! python3
# Import modules and Change Directory to Program folder
#
import os
import csv
import requests
import pdb
pdb.set_trace()
os.chdir('/Users/Anon/Documents/urlChecker')
#
# define URL checking function
def urlCheck(hotelID, url):
res = requests.get(url)
statusCode = res.status_code
if statusCode > 299:
outputFile = open('outputURL.csv', 'w')
outputWriter = csv.writer(outputFile, delimeter=',')
outputWriter.writerow([str(hotelId), "shit", str(url)])
outputFile.close()
else:
outputFile = open('outputURL.csv', 'w')
outputWriter = csv.writer(outputFile, delimeter=',')
outputWriter.writerow([str(hotelID), "gucci", str(url)])
outputFile.close()
#
#
#
# import CSV of URLS
# Format of csv should be:
# First column = hotel iD
# Second Column = URL
#
urlList = open('urlList.csv')
urlReader = csv.reader(urlList)
urlData = list(urlReader)
#
#
#
# loop through urlData, calling urlCheck
with open('urlList.csv', 'r') as urlData:
for row in urlData:
rowNum = 0
urlCheck(row[int(rowNum)][0], row[int(rowNum)][1])
rowNum += 1
ОБНОВЛЕНИЕ: После исправления проблемы опечатки, указанной в комментариях, я все еще сталкиваюсь с этим
IndexError: 'string index out of range'
> /Users/Anon/Documents/urlChecker/urlstack.py(46)<module>()
-> urlCheck(row[int(rowNum)][0], row[int(rowNum)][1])`