так, как вы сформулированный ваш вопрос немного запутанным, но если я правильно понимаю все ваши попытки сделать это испытание, если URL действителен с помощью urllib2 и если он записывает url в файл? Если это правильно, то это должно работать.
import urllib2
f = open("url_file.txt","a+")
urlhere = "http://www.google.com"
print "for url: " + urlhere + ":"
try:
fileHandle = urllib2.urlopen(urlhere)
data = fileHandle.read()
fileHandle.close()
f.write(urlhere + "\n")
f.close()
print "It exists"
except urllib2.URLError, e:
print 'PAGE 404: It Doesnt Exist', e
Если вы хотите проверить несколько адресов, но не хотите, чтобы изменить сценарий питона вы можете использовать следующий скрипт, набрав python python_script.py "http://url_here.com"
. Это стало возможным благодаря использованию модуля sys, где sys.argv [1] равен первому аргументу, переданному python_script.py. В этом примере показан URL-адрес ('http://url_here.com').
import urllib2,sys
f = open("url_file.txt","a+")
urlhere = sys.argv[1]
print "for url: " + urlhere + ":"
try:
fileHandle = urllib2.urlopen(urlhere)
data = fileHandle.read()
fileHandle.close()
f.write(urlhere+ "\n")
f.close()
print "It exists"
except urllib2.URLError, e:
print 'PAGE 404: It Doesnt Exist', e
Или, если вы действительно хотите, чтобы сделать вашу работу легко можно использовать следующий сценарий, введя следующую команду в командной строке python python_script http://url1.com,http://url2.com
где все URLs вы хотите проверить отделены друг от друга запятыми без пробелов.
import urllib2,sys
f = open("url_file.txt","a+")
urlhere_list = sys.argv[1].split(",")
for urls in urlhere_list:
print "for url: " + urls + ":"
try:
fileHandle = urllib2.urlopen(urls)
data = fileHandle.read()
fileHandle.close()
f.write(urls+ "\n")
print "It exists"
except urllib2.URLError, e:
print 'PAGE 404: It Doesnt Exist', e
except:
print "invalid url"
f.close()
sys.argv[1].split()
также может быть заменен списком питона в сценарии, если вы не хотите, чтобы использовать функциональные возможности командной строки. Надеюсь, это будет вам полезно и удачи в вашей программе.
примечания скриптов, использующих входы командной строки были протестированы на Ubuntu Linux, так что если вы используете окно или другую операционную систему, которую я не могу гарантировать, что он будет работать с указаниями, но это должно быть.
Итак ... что был вопрос? –
Я хочу, чтобы иметь возможность вводить любой URL-адрес, чтобы «urlhere», проверить программу, существует или нет, или является страницей 404, а затем писать только URL-адрес, который я пытаюсь установить, в файл txt, который находится на рабочем столе. – lorde
На данный момент у меня есть проверка url на месте, все, что мне нужно сделать, это программа, в которой url записывается в txt-файл. – lorde