防止python lxml添加纯文本a<;p>;标签

防止python lxml添加纯文本a<;p>;标签,python,lxml,Python,Lxml,我不希望lxml向纯文本添加任何内容。我故意让他们保持原样。lxml将纯文本添加到标记中。这里的value可以是html或纯文本。我需要lxml来处理html并保留明文 import lxml.html mixed = ['plaintext', '<a>HTML</a>', '<a>HTML</a>'] for text in mixed: html = lxml.html.fromstring(text) print(lxml.

我不希望lxml向纯文本添加任何内容。我故意让他们保持原样。lxml将纯文本添加到
标记中。这里的
value
可以是html或纯文本。我需要lxml来处理html并保留明文

import lxml.html
mixed = ['plaintext', '<a>HTML</a>', '<a>HTML</a>']
for text in mixed:
    html = lxml.html.fromstring(text)
    print(lxml.html.tostring(html))
import lxml.html
mixed=['纯文本','HTML','HTML']
对于混合格式的文本:
html=lxml.html.fromstring(文本)
打印(lxml.html.tostring(html))
输出:
b'纯文本

'
b'HTML'
b'HTML'

我需要的是:
b‘明文’
b'HTML'
b'HTML'

所以我提出了几个问题

  • 如何知道代码片段是纯的,没有任何html标记?(这样我就不必将它们传递给lxml),或者
  • 如何阻止lxml向纯文本添加
    标记

  • 试试这个图书馆。。。在处理XML页面时,由于某些愚蠢的原因,在使用不稳定的选择器时,请不要使用“re”模块

    from w3lib.html import remove_tags
    
    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        follow = hxs.xpath('//loc').re('.*type=videos.*')
        follow = [remove_tags(x) for x in follow]
        # It wont remove regex lines like \n
    

    试试这个图书馆。。。在处理XML页面时,由于某些愚蠢的原因,在使用不稳定的选择器时,请不要使用“re”模块

    from w3lib.html import remove_tags
    
    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        follow = hxs.xpath('//loc').re('.*type=videos.*')
        follow = [remove_tags(x) for x in follow]
        # It wont remove regex lines like \n
    

    您可以添加一个示例,说明您有哪些内容作为输入,哪些内容作为输出吗?@Padraiccanningham,我现在给出了一个简短的示例。不确定您是否可以使用lxml,有多种方法可以检查您是否有html,只需检查以
    try html.parser开头的字符串,使用bs4替换lxml是更好的选择。您能添加一个示例,说明您有哪些内容作为输入,哪些内容作为输出吗?@Padraiccanningham,我现在给出了一个简短的示例。不确定您是否可以使用lxml,有多种方法可以检查您是否有html,从简单地检查以
    try html.parser开头的字符串开始,使用bs4代替lxml是更好的选择。