在我的webscrapper中,一些内容带有广告和一些java脚本函数。如下所示;
(function(){var infAds = document.createElement('script'); infAds.async = true; infAds.type ='text / javascript'; var useSSL ='https:'== document。 location.protocol; infAds.src =(useSSL?'https:':'http:')+'// d.infeed.id/widget-50716010/loader/all/'; var node = document.getElementById('cont -50716010-all'); node.parentNode.insertBefore(infAds,node);})();
我使用lxml.html.clean.Cleaner从内容中删除脚本和样式。但并非所有这一切都取消了我的预期。我试着像下面那样;
from lxml.html.clean import Cleaner
cleaner = Cleaner()
cleaner.javascript = True
cleaner.scripts = True
content = "Page content"
clean_content = cleaner.clean_html(content)
print(clean_content)
但如果我使用 clean_content = lxml.html.toString(cleaner.clean_html(content)) __ 我收到以下类型的错误; __TypeError:类型'str'无法序列化。
使用正则表达式我也尝试过,它也没有解决。任何建议或帮助都会非常明显!
提前致谢。