2015-09-06 3 views
0

Хорошо, поэтому я делаю программу для проверки, если определенные страницы на веб-сайте находятся в автономном режиме или в Интернете.Сохранять текст в txt-файле в python

import urllib2 

u = 'http://www.google.com/' 

pages = open('pages.txt', 'r').readlines() 

for page in pages: 
    url = u + page 
    try: 
     req = urllib2.urlopen(url) 
    except urllib2.HTTPError as e: 
     if e.code == 404: 
      print url + " does not exists" 
    else: 
     print url + " exists" 

и «Pages.txt» содержит что-то вроде этого:

search 
page 
plus 
signin 
account 
security 
lol 
about 
contactus 
someotherpage.html 

Теперь программа работает нормально, но я хочу, чтобы сохранить имеющиеся страницы в текстовом файле. Может ли кто-нибудь помочь мне с этим? Если бы не просто перечислить страницы, которые существуют и забыть автономные страницы, также будет замечательно. Спасибо :)

ответ

0

насчет:

питон your_script> Pages.txt


Редактировать

Для записи в файл

with open('Pages.txt', 'w') as f: 
    f.write('something') 
f.close() 
+0

будет не так просто хранить все? Я не хочу, чтобы отображались офлайн-сайты –

+0

Я думаю, что только ваш файл будет в файле фактически ... – Richard

+0

Но моя печать также содержит страницы «не существует» –

0

Просто напишите в файл так же, как вы читаете:

out = open('pages.txt', 'w')

... затем в else: теге вы уже писали:

out.write(url+"\n")

Изготовление:

import urllib2

u = 'http://www.google.com/' pages = open('pages.txt', 'r').readlines() out = open('pages.txt', 'w') for page in pages: url = u+page try: req = urllib2.urlopen(url) except urllib2.HTTPError as e: if e.code == 404: print url+" does not exists" else: print url+" exists" out.write(url+"\n")

+0

Ну, я все еще новичок в python, можете ли вы написать окончательный код? Спасибо большое :) –

0

Откройте файл в режиме добавления для записи. Перенаправить оператор печати для печати в новый обработчик файла.

import urllib2 

u = raw_input('Enter a url: ') or 'http://www.google.com/' 

pages = open('pages.txt', 'r').readlines() 
with open('available.txt', 'a') as available: 
    for page in pages: 
     url = u.rstrip('\n')+page 
     try: 
       req = urllib2.urlopen(url) 
     except urllib2.HTTPError as e: 
       if e.code == 404: 
         print url+" does not exists" 
     else: 
       print url+" exists" 
       print >> available, url.rstrip('\n') 

Выход:

(availablepages)macbook:availablepages joeyoung$ ls -al 
total 16 
drwxr-xr-x 4 joeyoung staff 136 Sep 7 00:23 . 
drwxr-xr-x 4 joeyoung staff 136 Sep 6 23:54 .. 
-rw-r--r-- 1 joeyoung staff 478 Sep 7 00:20 availablepages.py 
-rw-r--r-- 1 joeyoung staff 70 Sep 6 23:56 pages.txt 
(availablepages)macbook:availablepages joeyoung$ python availablepages.py 
Enter a url: http://www.google.com/ 
http://www.google.com/search 
exists 
http://www.google.com/page 
does not exists 
http://www.google.com/plus 
exists 
http://www.google.com/signin 
does not exists 
http://www.google.com/account 
exists 
http://www.google.com/security 
exists 
http://www.google.com/lol 
does not exists 
http://www.google.com/about 
exists 
http://www.google.com/someotherpage.html 
does not exists 
(availablepages)macbook:availablepages joeyoung$ ls -al 
total 24 
drwxr-xr-x 5 joeyoung staff 170 Sep 7 00:23 . 
drwxr-xr-x 4 joeyoung staff 136 Sep 6 23:54 .. 
-rw-r--r-- 1 joeyoung staff 145 Sep 7 00:23 available.txt 
-rw-r--r-- 1 joeyoung staff 478 Sep 7 00:20 availablepages.py 
-rw-r--r-- 1 joeyoung staff 70 Sep 6 23:56 pages.txt 
(availablepages)macbook:availablepages joeyoung$ cat available.txt 
http://www.google.com/search 
http://www.google.com/plus 
http://www.google.com/account 
http://www.google.com/security 
http://www.google.com/about 
(availablepages)macbook:availablepages joeyoung$ python availablepages.py 
Enter a url: http://www.bing.com/ 
http://www.bing.com/search 
exists 
http://www.bing.com/page 
does not exists 
http://www.bing.com/plus 
does not exists 
http://www.bing.com/signin 
does not exists 
http://www.bing.com/account 
exists 
http://www.bing.com/security 
does not exists 
http://www.bing.com/lol 
does not exists 
http://www.bing.com/about 
does not exists 
http://www.bing.com/someotherpage.html 
does not exists 
(availablepages)macbook:availablepages joeyoung$ ls -al 
total 24 
drwxr-xr-x 5 joeyoung staff 170 Sep 7 00:23 . 
drwxr-xr-x 4 joeyoung staff 136 Sep 6 23:54 .. 
-rw-r--r-- 1 joeyoung staff 200 Sep 7 00:24 available.txt 
-rw-r--r-- 1 joeyoung staff 478 Sep 7 00:20 availablepages.py 
-rw-r--r-- 1 joeyoung staff 70 Sep 6 23:56 pages.txt 
(availablepages)macbook:availablepages joeyoung$ cat available.txt 
http://www.google.com/search 
http://www.google.com/plus 
http://www.google.com/account 
http://www.google.com/security 
http://www.google.com/about 
http://www.bing.com/search 
http://www.bing.com/account 
+0

Большое спасибо! просто одно может быть, это глупый вопрос, но что такое available.txt? Создается ли она автоматически или я должен ее создать? Еще раз спасибо :) –

+0

Извините, он генерируется автоматически. Вы можете изменить имя файла на все, что хотите в коде. –

+0

Хорошо, это сработало отлично! Большое спасибо :) Я знаю, что, вероятно, я должен задать это в отдельном вопросе, но могу ли я сделать выбор пользователем сайта? Ваш ответ отмечен как полезный :) –

Смежные вопросы