【发布时间】:2016-06-20 05:55:20
【问题描述】:
我目前正在尝试从这个网站获取代码:http://netherkingdom.netai.net/pycake.html 然后我有一个python脚本解析出html div标签中的所有代码,最后将div标签之间的文本写入文件。问题是它在文件中添加了一堆 \r 和 \n 。我怎样才能避免这种情况或删除 \r 和 \n。这是我的代码:
import urllib.request
from html.parser import HTMLParser
import re
page = urllib.request.urlopen('http://netherkingdom.netai.net/pycake.html')
t = page.read()
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
print(data)
f = open('/Users/austinhitt/Desktop/Test.py', 'r')
t = f.read()
f = open('/Users/austinhitt/Desktop/Test.py', 'w')
f.write(t + '\n' + data)
f.close()
parser = MyHTMLParser()
t = t.decode()
parser.feed(t)
这是它生成的文件:
b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
最好我也希望删除开头的 b' 和最后一个 '。我在 Mac 上使用 Python 3.5.1。
【问题讨论】:
-
如果 urllib 返回一个字节对象,我会说 3.x
-
另外,
html.parser是 Python 3。 -
@RafaelCardoso 我正在使用 python 3.x
-
只需将
t转换为字符串而不是字节数组;t = str(page.read(), 'UTF-8')。 (当然可以选择用你想要的编码替换 UTF-8) -
@JoachimIsaksson 似乎删除了除第一行之外的所有内容。
标签: python html python-3.x file-writing