am_thinking 2015-10-11 14:32 采纳率: 50%
浏览 10829
已采纳

请问用BeautifulSoup如何获取p标签内的值

从网上爬下来了一道数学题,不知道该怎样获取里面的值了

 soup = BeautifulSoup(problem_content, 'html.parser')  # 这个problem_content是个从网上爬下来的数学题,里面包含很多的HTML标签        
        # print soup  # 全部是乱码,网上找资料说是没有\xa0这个编码
        # print soup.prettify().replace(u'\xa0', '')  # 安装文档形式输出,正常输出
        # print soup.p  # 输出的p标签内容全部是乱码
        # print soup.encode('gb18030')  # 除中文外全部是 乱码        
        new_soup = soup.prettify().replace(u'\xa0', '')  # new_soup为unicode格式
        s_soup = BeautifulSoup(new_soup, 'html.parser')  # 再次将其转为bs4格式数据
        cont = s_soup.p.encode('gb18030')   # print type(cont)返回 <type 'str'>
        # print type(new_soup)  返回 <type 'unicode'>             
        print cont

print cont返回值是:

 <p>
 如图所示,圆锥 $SO$ 的轴截面 $△$$SAB$ 是边长为$ 4 $的正三角形,$M$为母线 $SB$的中点,过直线 $AM$ 作平面 $β$ $⊥$ 面 $SAB$ ,设 $β$
 <span>
  与圆锥侧面的交线为椭圆 $C$,则椭圆 $C$ 的短半轴
 </span>
 <span style="font-size:12px;line-height:1.5;">
  为(  )
 </span>
</p>

由于这个cont是个str类型的值,请问老师我该如何才能回去这个值

标签内部的值?用cont.string返回错误提示:cont没有string属性

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 Excel发现不可读取的内容
  • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。