2016-01-25 43 views
1

我从网站上抓取文本并将其导出到记事本文档中。我试图分开段落,尝试所有可能的组合+'\ n',但没有任何作品。我想知道我做错了什么,因为我只将一大块文本导入到记事本文档中。我是一个新手,如果你解释我正在做的错误,那么这将非常棒,而不仅仅是提供解决方案。谢谢! PS-另外,我想我将不得不使用“outfile.close()”后,拔出操作,但是如果我的脚本不工作...Python 3.5s - 如何用新行分隔刮段落文本

from bs4 import BeautifulSoup 
import urllib.request, re 

req = urllib.request.urlopen('https://en.wikipedia.org/wiki/Gautama_Buddha') 
soup = BeautifulSoup(req, 'html.parser') 
req.addheaders = [ ('User-agent', 'Mozilla/5.0') ] 

title = soup.title.text 

body = soup.find_all('p') 
outfile = open("wiki_test.txt","wb") 
for i in body: 
    print(i.text) 
    outfile.write(bytes(i.text+'\n'+"###############", 'UTF-8')) 

回答

0

在有可读性看看。对于此代码虽然尝试

with open("wiki_test.txt","wb") as outfile: 
    for i in body: 
     print(i.text + '\n') 
     outfile.write(bytes(i.text+'\n'+"###############", 'UTF-8')) 
+0

我使用此代码得到完全相同的结果。我开始怀疑记事本或Windows 8有什么问题,但这很不寻常,不是吗?在pycharm输出控制台上,我看到正文使用段落之间的线正确格式化,但输出到文件仍然没有新行,即使使用您的代码。 – skeitel

+0

屏幕截图: http://imgur.com/uwwiuUy – skeitel

+0

难道这是我不知道的关于UTF-8编码的东西吗? – skeitel