【问题标题】:Brackets from Beautiful Soup impacting pystache outputBeautiful Soup 中的括号影响 pystache 输出
【发布时间】:2013-12-18 00:39:54
【问题描述】:

我正在尝试将用 Beautiful Soup 解析的 html 代码插入到带有 pystache(小胡子)的模板中,并且遇到了一些主要的发布问题。

汤提取物的开头和结尾包含一组开头和结尾的括号,这让我很生气。

这是我的代码:

orig_file = open(input_file, 'r')                 
template = open('template.html').read()
Beautiful Soup html parsing   
soup = BeautifulSoup(orig_file)   
main_txt = soup.find(id='main-content')          
tags = main_txt.find_all(not_inside_toc)
values = {       
    'main' : main_txt,
        }   
html_main = pystache.render(template, values)

这里是一些返回的代码: [//, , ,

// div.rbtoc1386636254365

我到处寻找并尝试了所有方法,但找不到有效的解决方案。

如果有任何问题和/或是否需要其他信息,请告诉我。

我们将不胜感激。

更新后打印(main_txt):

在 Aptana 控制台窗口中 print(main_txt) 是所需的无括号代码,它看起来不错。虽然当我通过命令窗口运行它时,由于编码错误,我收到 print(main_txt) 崩溃。这可以是一个提示吗?

更新 2:我没有看到任何东西可以用来代替 Beautiful Soup 和 pystache 组合,至少在我所拥有的短窗口中。事后看来,应该考虑其他模板解决方案来处理这个项目。我忽略了一些基于易用性的要求。但是,如果它不能为您提供所需的东西,那么易用性并没有多大帮助。

那么有没有一些好的美汤和 pystache 替代品?

【问题讨论】:

  • 当你打印出 main_txt 你会得到什么?我的第一个问题是标签导致了问题,因为它会返回一个列表,但您似乎没有使用它。
  • 感谢您的回复,DasSnipez!!!

标签: python beautifulsoup mustache


【解决方案1】:

我能够通过反复试验和 RTFM 的老可靠者回答我自己的问题。

所需要的只是将汤查找到 str 的简单转换。我正在尝试,但在错误的地方。

这是新的一行:

main_txt = str(soup.find(id='main-content'))

如果这些简单的修复可以让您对某个主题了解很多,那就是其中之一。在这种情况下,对我来说是美丽的汤和 pystache。

【讨论】:

  • 你应该使用soup.find(id='main-content').get_text()
  • @justhalf:谢谢,但 get_text() 对我没有帮助,因为需要 html 标签。
  • 我明白了,我没注意到。
猜你喜欢
  • 2022-12-03
  • 1970-01-01
  • 2018-08-28
  • 2011-04-10
  • 2019-03-06
  • 1970-01-01
  • 2018-01-14
  • 2019-12-05
  • 2017-12-20
相关资源
最近更新 更多