防止python lxml添加纯文本a<;p>;标签
我不希望lxml向纯文本添加任何内容。我故意让他们保持原样。lxml将纯文本添加到防止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.
标记中。这里的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'
所以我提出了几个问题
标记试试这个图书馆。。。在处理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是更好的选择。