无法在Python中将HTML粘贴到字符串中

时间:2019-07-02 22:12:15

标签: python beautifulsoup pycharm indentation pasting

我试图通过将HTML传递到单个字符串对象中来解析一些HTML。但是,当我粘贴HTML时,我在pyCharm中得到了很多下划线,我怀疑这是因为格式(请参见屏幕截图)。这会中断我的程序,因为我在\ n \ n上分割,这应该代表一个空行。

这是我粘贴代码后得到的:

badPyCharm

但是,这就是我想要的,当我用\ n \ n分割字符串时,没有问题:

goodPyCharm

我尝试将要用作字符串的html粘贴到notePad中,然后转换为plainText,但无济于事。我还关闭了PyCharm中的任何“自动缩进”功能。谁能告诉我如何解决此问题,以便我可以粘贴更长的HTML块(结构相同,用空行分隔),仍然可以正常工作吗?还是当我粘贴较长的HTML片段时,有什么方法可以分割字符串(我的直觉是添加了一些选项卡,但我无法弄清楚)?

1 个答案:

答案 0 :(得分:1)

我想说的是一种帮助方法,它无需访问实际的HTML / XML文本(而不是图像),并且可以看到两个示例文本彼此之间看起来是不同的

  1. 使用三重单引号/双引号时,您的代码不应因文本变量内部错误而中断– PEP-0257的主题外注释是您使用三重 double docstring而不是多行文本(使用三重引号)
  2. 您始终可以在线尝试任何HTML / XML格式化程序,然后将文本粘贴到其中,然后再将其添加到IDE脚本中。就像您对JSON格式的内容进行检查一样。这些格式化程序可根据解析条件帮助检测文本中的错误
  3. 另一个选项,因为您使用的是BeautifulSoup,所以将“ fullHtmlString”变量作为参数传递给“ lxml”解析器(您必须在操作系统级别[libxml2和{{1}上安装它) }]并通过之前的[[libxslt为例),并让BeautifulSoup帮助您在打印时在HTML / XML文本中看到明显的错误

    pip3.6 install lxml
  4. 您可以在PyCharm中一起使用“重新格式化代码”和“填充段落”选项来格式化整个代码,尤其是当根据PEP-0008在页边距之外时,通常结合使用,您通常会自己看到语法上的任何错误

希望它会有所帮助(: