无法将 HTML 粘贴到 Python 中的字符串中
Cannot Paste HTML into String in Python
我试图通过将 HTML 传入单个字符串对象来解析某些 HTML。但是,当我在 HTML 中粘贴时,我在 pyCharm 中看到了很多下划线,我怀疑这是格式问题(见屏幕截图)。这打破了我的程序,因为我在 \n\n 上拆分,它应该代表一个空行。
这是我粘贴代码时得到的结果:
然而,这就是我想要的,当我用 \n\n 拆分字符串时没有问题:
我曾尝试将我想用作字符串的 html 粘贴到记事本中并转换为纯文本,但无济于事。我还关闭了 PyCharm 中的所有 'auto indent' 功能。谁能告诉我如何解决这个问题,这样我就可以粘贴更长的 HTML 块(具有相同的结构,用空行分隔)并且我的代码仍然可以工作?或者现在有什么方法可以在我粘贴 HTML 的长块时按什么拆分字符串(我的直觉是添加了一些选项卡,但我无法弄清楚)?!
我会说这是一种帮助方式,无需访问真实的 HTML/XML 文本(不是图像)并且看到两个示例文本相互比较时看起来不同
- 当您使用三重 single/double 引号时,您的代码不应该因为文本变量中的错误而中断 --off-topic 来自 PEP-0257 的评论是您使用了三重 double docstring 引号而不是 multi-line 文本(在其上使用三重 single 引号)
- 您始终可以在线尝试任何 HTML/XML 格式化程序并将您的文本粘贴到其中,然后再将其添加到您的 IDE 脚本中。就像您使用 JSON-formatted 内容来检查有效性一样。这些格式化程序有助于根据解析标准检测文本中的错误
另一个选项,因为你使用的是 BeautifulSoup,将你的 "fullHtmlString" 变量作为参数传递给 "lxml" 解析器(你必须将它安装在 OS 级别 [libxml2
和 libxslt
] 之前通过 pip [pip3.6 install lxml
作为示例])让 BeautifulSoup 帮助您了解什么是 打印时HTML/XML文本明显错误
soup = BeautifulSoup(fullHtmlString, 'lxml')
print(soup.prettify())
您可以在 PyCharm 中一起使用 "reformat code" 和 "fill paragraph" 选项来格式化您的整个代码,尤其是根据 PEP-0008结合起来,您通常会自己看到语法意义上的任何错误
希望对你有帮助(:
我试图通过将 HTML 传入单个字符串对象来解析某些 HTML。但是,当我在 HTML 中粘贴时,我在 pyCharm 中看到了很多下划线,我怀疑这是格式问题(见屏幕截图)。这打破了我的程序,因为我在 \n\n 上拆分,它应该代表一个空行。
这是我粘贴代码时得到的结果:
然而,这就是我想要的,当我用 \n\n 拆分字符串时没有问题:
我曾尝试将我想用作字符串的 html 粘贴到记事本中并转换为纯文本,但无济于事。我还关闭了 PyCharm 中的所有 'auto indent' 功能。谁能告诉我如何解决这个问题,这样我就可以粘贴更长的 HTML 块(具有相同的结构,用空行分隔)并且我的代码仍然可以工作?或者现在有什么方法可以在我粘贴 HTML 的长块时按什么拆分字符串(我的直觉是添加了一些选项卡,但我无法弄清楚)?!
我会说这是一种帮助方式,无需访问真实的 HTML/XML 文本(不是图像)并且看到两个示例文本相互比较时看起来不同
- 当您使用三重 single/double 引号时,您的代码不应该因为文本变量中的错误而中断 --off-topic 来自 PEP-0257 的评论是您使用了三重 double docstring 引号而不是 multi-line 文本(在其上使用三重 single 引号)
- 您始终可以在线尝试任何 HTML/XML 格式化程序并将您的文本粘贴到其中,然后再将其添加到您的 IDE 脚本中。就像您使用 JSON-formatted 内容来检查有效性一样。这些格式化程序有助于根据解析标准检测文本中的错误
另一个选项,因为你使用的是 BeautifulSoup,将你的 "fullHtmlString" 变量作为参数传递给 "lxml" 解析器(你必须将它安装在 OS 级别 [
libxml2
和libxslt
] 之前通过 pip [pip3.6 install lxml
作为示例])让 BeautifulSoup 帮助您了解什么是 打印时HTML/XML文本明显错误soup = BeautifulSoup(fullHtmlString, 'lxml') print(soup.prettify())
您可以在 PyCharm 中一起使用 "reformat code" 和 "fill paragraph" 选项来格式化您的整个代码,尤其是根据 PEP-0008结合起来,您通常会自己看到语法意义上的任何错误
希望对你有帮助(: