Как добавить данные в пустой список за l oop? - PullRequest
2 голосов
/ 13 апреля 2020

У меня есть 100 URL-адресов в моем CSV-файле, и я хочу знать, работают ли эти URL-адреса или нет, и для этого я импортировал библиотеку запросов. Когда я выполняю приведенный ниже код, я вижу «код состояния 200» для каждого веб-сайта при печати. Здесь, когда я пытался добавить URL-адреса в пустой список, код печатает «Этот веб-сайт не работает». Как назначить эти URL в пустой список?

    import requests
    import pandas as pd
    url_list = pd.read_csv("/home/user/Desktop/websites.csv")
    urls = url_list['URLS']



    def addhttp():

        url_list=[]
        for url in urls:
            try:
                final_url = 'http://' + url
                response = requests.get(final_url)
                if response.status_code is 200:
                    url_list.append(response.url)

                else:
                    print("This website is not working")
            except:
                pass
        print(url_list)


    print(addhttp())

Ответы [ 3 ]

1 голос
/ 13 апреля 2020

Вам нужно использовать ==, а не is, так как это проверяет идентичность, а не значение:

final_url = 'http://' + url
response = requests.get(final_url)
if response.status_code == 200:
    url_list.append(response.url)
else:
    print("This website is not working")
1 голос
/ 13 апреля 2020

url_list = pd.read_csv ("/ home / user / Desktop / website.csv") и url_list = []

используют одно и то же имя переменной

и вы используете "is" вместо "=="

, и вы ничего не возвращаете в конце функции

url_list = '''
repl.it/@bamamo68/WorrisomeTrivialRectangle-1?1
repl.it/@bamamo68/WorrisomeTrivialRectangle-1?2
repl.it/@bamamo68/WorrisomeTrivialRectangle-1?
'''
urls = url_list.splitlines()

def addhttp(urls):
  url_list2=[]
  for url in urls:
      try:
          final_url = 'http://' + url
          response = requests.get(final_url)
          if response.status_code == 200:
              url_list2.append(response.url)
          else:
              print("This website is not working")
      except:
          pass
  return url_list2


print(addhttp(urls))

, и этот код работает, только если URL-адреса внутри файла CSV не запускаются с "http: //", потому что вы добавляете его после в строке с: final_url = 'http: //' + url

1 голос
/ 13 апреля 2020

1) Вы уверены, что все URL-адреса http: // ? 2) Не могли бы вы показать нам первые строки вашего * csv 3) Возможно ли, что все URL не работают? Вы проверили хотя бы один из них вручную?

...