Python 将包含HTML的字符串转换为实际HTML

Python 将包含HTML的字符串转换为实际HTML,python,html,string,Python,Html,String,设置 我有各种字符串变量,其中一个包含HTML 我需要获取HTML中的文本。例如,从以下HTML代码片段 <div class="woocommerce-product-details__short-description">\n<ul>\n<li>50.000 r.p.m.</li>\n<li>Dry technique</li>\n<li>Controllable by foot pedal</li&g

设置

我有各种字符串变量,其中一个包含HTML

我需要获取HTML中的文本。例如,从以下HTML代码片段

<div class="woocommerce-product-details__short-description">\n<ul>\n<li>50.000 r.p.m.</li>\n<li>Dry technique</li>\n<li>Controllable by foot pedal</li>\n<li>Auto-Cruise</li>\n<li>Twist-lock system</li>\n<li>100W drill power</li>\n<li>7.8 Ncm torque</li>\n<li>220V-240V</li>\n<li>12-months warranty</li>\n</ul>\n</div>\n<p>[/vc_column_text]</p>
\n
    \n
  • 50.000转/分
  • \n
  • 干式技术
  • \n
  • 脚踏控制
  • \n
  • 自动巡航
  • \n
  • 扭锁系统
  • \n
  • 100W钻削功率
  • \n
  • 7.8 Ncm扭矩
  • \n
  • 220V-240V
  • \n
  • 12个月保修期

我想获得所有
  • 的文本

    请注意,这只是整个字符串的一部分的示例,文本不仅在
  • 元素中


    问题

    简单地使用regex会非常麻烦,因为模式有点不规则

    我熟悉Selenium从HTML获取数据,即执行
    驱动程序。通过xpath('div')
    等查找元素。但这只适用于HTML对象,而不适用于字符串

    我想知道我是否能够以某种方式将字符串转换为HTML,然后以类似于Selenium的方式获取文本

    任何其他解决方案都可以

    您可以改为使用来分析此内容:

    from bs4 import BeautifulSoup
    
    s = '<div class="woocommerce-product-details__short-description">\n<ul>\n<li>50.000 r.p.m.</li>\n<li>Dry technique</li>\n<li>Controllable by foot pedal</li>\n<li>Auto-Cruise</li>\n<li>Twist-lock system</li>\n<li>100W drill power</li>\n<li>7.8 Ncm torque</li>\n<li>220V-240V</li>\n<li>12-months warranty</li>\n</ul>\n</div>\n<p>[/vc_column_text]</p>'
    
    soup = BeautifulSoup(s)
    print(soup.findAll(text=True))
    

    您可以改为使用来分析此内容:

    from bs4 import BeautifulSoup
    
    s = '<div class="woocommerce-product-details__short-description">\n<ul>\n<li>50.000 r.p.m.</li>\n<li>Dry technique</li>\n<li>Controllable by foot pedal</li>\n<li>Auto-Cruise</li>\n<li>Twist-lock system</li>\n<li>100W drill power</li>\n<li>7.8 Ncm torque</li>\n<li>220V-240V</li>\n<li>12-months warranty</li>\n</ul>\n</div>\n<p>[/vc_column_text]</p>'
    
    soup = BeautifulSoup(s)
    print(soup.findAll(text=True))
    

    你正在寻找一个HTML解析器。你可以在这里使用beautiful soup。你正在寻找一个HTML解析器。你可以在这里使用beautiful soup。