Как записать вывод этого кода в файл HTML? - PullRequest
1 голос
/ 12 ноября 2009
from HTMLParser import HTMLParser

from urllib import urlopen

class Spider(HTMLParser):

        def __init__(self, url):
                HTMLParser.__init__(self)
                req = urlopen(url)
                self.feed(req.read())

        def handle_starttag(self, tag, attrs):
                if tag == 'a' and attrs:
                        print "Found link => %s" % attrs[0][1]

Spider('http://stackoverflow.com/questions/tagged/python')

Ответы [ 3 ]

3 голосов
/ 12 ноября 2009
python spider.py > output.html
1 голос
/ 12 ноября 2009

Поместите это в начало вашего скрипта:

import sys
sys.stdout = file('output.html', 'w')

Это перенаправит все, что ваш скрипт записывает в стандартный вывод (который включает print операторы) в файл 'output.html'.

0 голосов
/ 12 ноября 2009

Я вообще ничего не перепутал со Spider, но печатает ли он html или вы просто печатаете строки "Найдено ссылку ..." Если вы просто печатаете их, вы можете сделать что-то вроде outfl = open('output.txt')

А потом вместо print звоните outfl.write("Found link => %s" % attrs[0][1]).

Вы всегда можете записать <html><head></head><body> до и </body></html> после, если вам это нужно в формате HTML. Также используйте outfl = open('output.html') вместо .txt для имени файла.

Я полностью пропустил вопрос здесь? Если вы хотите получить лучшие ответы, вам следует описать вопрос немного лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...