Python:在打印到htm时如何保持从txt文件读取的中断

2024-04-25 12:14:00 发布

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

当我将内容打印到HTML文件时,我试图保持换行符从txt文件读取。

我从锅炉管得到的结果是这样的:

class BottomPipeResult :

    AGENT_ID   = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"

    BOTTOMPIPE_URL = "http://boilerpipe-web.appspot.com/extract?url={0}&extractor=LargestContentExtractor&output=text"

    #BOTTOMPIPE_URL = "http://boilerpipe-web.appspot.com/extract?url={0}&extractor=ArticleExtractor&output=htmlFragment"

    _myBPPage = ""

    # scrape and get results from bottompipe
    def scrapeResult(self, theURL, user_agent=AGENT_ID) :
        request = urllib2.Request(self.BOTTOMPIPE_URL.format(theURL))
        if user_agent:
            request.add_header("User-Agent", user_agent)
            pagefile = urllib2.urlopen(request)
            realurl = pagefile.geturl()
            f = pagefile
            self._myBPPAge = f.read()
        return(self._myBPPAge) 

但是当我把它们重新打印成html格式时,我就失去了所有的换行符。

下面是我用来写HTML的代码

^{pr2}$

下面是booilerpipe文本结果的示例:

http://boilerpipe-web.appspot.com/extract?url=http%3A%2F%2Fresult.com&extractor=ArticleExtractor&output=text

我试过了,但没用:

myLinkResult = re.sub('\n','<br />', myLinkResult)

有什么建议吗?

谢谢


Tags: selfcomwebhttpurloutputrequestextract
2条回答

我修改了你的代码只是一个触摸,所以它是可运行的,它似乎“工作”对我来说很正常。结果输出在预期的地方有行尾。我看到一些编码问题,但没有行结束问题。在

代码

import urllib2

class BottomPipeResult :

    AGENT_ID   = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
    BOTTOMPIPE_URL = "http://boilerpipe-web.appspot.com/extract?url={0}&extractor=LargestContentExtractor&output=text"
    _myBPPage = ""

    # scrape and get results from bottompipe
    def scrapeResult(self, theURL, user_agent=AGENT_ID) :
        request = urllib2.Request(self.BOTTOMPIPE_URL.format(theURL))
        if user_agent:
            request.add_header("User-Agent", user_agent)
            pagefile = urllib2.urlopen(request)
            realurl = pagefile.geturl()
            f = pagefile
            self._myBPPAge = f.read()
        return(self._myBPPAge) 


bpr = BottomPipeResult()
myLinkResult = 'http://result.com'

f = open('out.html', 'a')
f.write(bpr.scrapeResult(myLinkResult))
f.close()

输出

^{pr2}$

使结果更像“HTML”

就html输出而言,您可能希望将每一行包装在<p>段落标记中。在

output = BottomPipeResult.scrapeResult(myLinkResult) 
f.write('\n'.join(['<p>' + x + '</p>' for x in output.split('\n')]))

您可以在<;pre>;标记中换行。这告诉HTML文本是预先格式化的。在

例如:

<pre>Your text
With line feeds
and other things
</pre>

相关问题 更多 >