如何在for循环中将数据附加到空列表?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在for循环中将数据附加到空列表?相关的知识,希望对你有一定的参考价值。
我的csv文件中有100个URL,我想知道这些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())
答案
1)您确定所有URL都是http://吗?2)您能告诉我们您* csv的第一行吗3)是否所有网址都不起作用?您是否至少手动检查了其中之一?
另一答案
您需要使用==
而不是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")
另一答案
url_list = pd.read_csv(“ / home / user / Desktop / websites.csv”)和url_list = []
使用相同的变量名
并且您使用“是”而不是“ ==“
并且您在函数末尾不返回任何内容
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))
并且此代码仅在csv文件中的网址不是以“ http://”开头的情况下有效,因为您在以下行中添加了该网址:final_url ='http://'+ url
以上是关于如何在for循环中将数据附加到空列表?的主要内容,如果未能解决你的问题,请参考以下文章