从url到文本fi的Python日志记录

2024-10-01 00:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试记录来自此URL站点的文本:http://radio.nolife-radio.com:8000/played.html 到文本文件中。我决定尝试使用Python日志模块。到目前为止我什么都没有,我在这里读了一些:http://docs.python.org/dev/library/logging.html不确定我是否应该使用SocketHandler或HTTPHandler。我对这个很陌生,还在看教程。使用Urllib或其他我不知道的东西,可能有一个更简单的解决方案。URL站点是一个无线电台,在每个曲目之后都会更新。我想把更新的信息记录下来。以下是迄今为止的进展:

import logging, logging.handlers

logger = logging.getLogger('Radio Station')
logger.setLevel(logging.INFO)
fh = logging.FileHandler('thread.log')
fh.setLevel(logging.INFO)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
fh.setFormatter(formatter)
logger.addHandler(fh)
host = 'localhost:8000'
url = 'www.radio.nolife-radio.com:8000/played.html'
http_handler = logging.handlers.HTTPHandler(host, url, method='GET')
logger.addHandler(http_handler)
logger.info("")

上面的代码目前不起作用。如果删除HTTP代码,则结果如下:

^{pr2}$

任何帮助都将不胜感激。在


Tags: infocomhttpurl站点logginghandlershtml
1条回答
网友
1楼 · 发布于 2024-10-01 00:32:38

好的,这里有一个简单的例子urllib,在Windows上应该很好,您将不得不解决如何处理您得到的HTML的问题(我建议您使用Beautiful Soup模块来解析HTML)。在

from urllib import FancyURLopener

page_url = "http://radio.nolife-radio.com:8000/played.html"

class myUrlOpener( FancyURLopener ):
    version = "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"

opener = myUrlOpener()

page_contents = opener.open( page_url ).read()

print page_contents

这可能比您在internet上找到的基本示例要复杂一些,因为这个站点似乎不接受来自pythonurllib用户代理的请求。在这里,通过调用FancyURLopener,我们可以将用户代理设置为Windows上的Firefox代理。在

检查该站点的(nolife-广播网)关于从页面中删除内容的政策。

相关问题 更多 >