zoukankan      html  css  js  c++  java
  • html解析のBeautifulSoup

    引子:

    使用python爬虫对爬取网页进行解析的时候,如果使用正则表达式,有很多局限,比如标签中出现换行,或者标签的格式不规范,都有可能出现取不到数据,BeautifulSoup作为一个专门处理html格式的python第三方库,在格式处理上要明显优与正则表达式,而且使用简便。

    安装:

    下载beautifulsoup4-4.5.0,打开cmd,进入beautifulsoup文件目录,执行python setup.py install 进行安装

    打开python命令行,执行from bs4 import BeautifulSoup 成功,则安装成功

    使用:

    获取指定标签及内容

    soup=BeautifulSoup(text,"html.parser")  #text为html文本,"html.parser"指按html格式进行解析

    li= soup.find_all(name="li",attrs={"class":"rlbh"}) #查找所有li标签,class类型为rlbh

    find只返回第一个标签,find_all返回所有标签,findAll是beautifulsoup3 的方法,在bs4中也可以用,find_all是bs4中的方法。

    find_all返回结果为list类型,如果需要在返回结果中继续匹配可以这样:

    li= soup.find_all(name="li",attrs={"class":"rlbh"})
    for i in li:
      #get count
      lbdj=i.find_all(name="span",attrs={"class":"lbdj"})  #匹配li结果中的所有span标签,且class类型为lbdj

    获取链接

    a=span[0].find_all(name="a",attrs={"target":"_blank"})  #获取a标签
    href=a[0].get('href')  #获取a标签中href属性的内容
    也可以直接a[0]['href'] 获取

    获取内容

    title=a[0].getText()  #获取a标签中的文本

    如:<a href="http:127.0.0.1">localhost</a>获取到的就是localhost

      

  • 相关阅读:
    3月3日(6) Climbing Stairs
    testNG 预期异常、忽略测试、超时测试
    testNG 常用的注解
    testNG 下载安装
    selenium 执行js代码
    selenium 时间等待的方法
    selenium 文件上传
    selenium 键盘鼠标模拟
    selenium 窗口的切换
    selemiun 下拉菜单、复选框、弹框定位识别
  • 原文地址:https://www.cnblogs.com/taurusfy/p/6867281.html
Copyright © 2011-2022 走看看