背景:我的任务是从一个网站(主要是HTML表)获取内容,并将其插入wiki类型的网站。我能够使用restapi轮询内容(它是动态的),并获得HTML格式的输出。我必须获取这个输出,并将其转换为Wiki标记,然后将其插入到新站点中。我对转换部分有问题。你知道吗
目前我正在测试脚本中使用html2text模块,如下所示:
import os
import sys
import html2text
file = raw_input("File to convert: ")
h = html2text.HTML2Text()
with open(file, 'r') as f:
dataContent = f.read()
dataConverted = h.handle(dataContent)
with open('tempconvert', 'w') as f:
f.write(dataConverted)
#print dataConverted
# Add the | to the line beginnings and endings
with open('tempconvert', 'r') as f:
tempContent = f.readlines()
with open('finalconvert', 'w') as f:
for line in tempContent:
if '|' in line:
f.write('|' + line.rstrip('\n') + '| \n')
现在,所有这些输入和输出的原因是因为html2text模块没有插入wiki语法需要将其识别为表的开头或结尾“|”。你知道吗
我的问题是:
1:通过使用^{} 将单个字符串转换为字符串列表,可以消除临时文件。这样做的副作用是从每一行中删除
\n
,您必须在后面添加或说明这些内容。你知道吗2:有两种方法可以解决这个问题。首先是简单地使用
else
来编写您之前跳过的行。(如果使用上面的split
提示,则不需要rstrip
)。你知道吗另一种方法是,如果行需要更新,则更新它,然后在任何情况下都写入它。你知道吗
3:这更难,因为你不只是想把这些条添加到一个空白行之后的任何一行,你想检测到有一个表出现了。这意味着你需要向前看。这里有一个小功能,你可以用它来自动看前面。你知道吗
你可以这样使用它:
第一次尝试:
这段代码修复了1和2;但是我不理解3。你知道吗
相关问题 更多 >
编程相关推荐