python爬虫处理html字符串(使用lxml库)

时间:2025-04-02 19:48:34

爬取页面数据时,当返回数据为包含html文本的json数据时,可以使用lxml库来解析数据。

例如:html字符串文本如下

  <table  cellspacing="0px">
    <tr>
      <th>编号</th>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
    <tr>
      <td>1</td>
      <td>张三</td>
      <td>11</td>
    </tr>
    <tr>
      <td>2/td>
      <td>李四</td>
      <td>12</td>
    </tr>
    <tr>
      <td>3</td>
      <td>王五</td>
      <td>13</td>
    </tr>
    <tr>
      <td>4</td>
      <td>马六</td>
      <td>14</td>
    </tr>
  </table>

首先需要先引入lxml包下的etree

from lxml import etree

解析的具体代码如下:

 html = '<tablecellspacing="0px"><tr><th>编号</th><th>姓名</th><th>年龄</th></tr><tr><td>1</td><td>张三</td><td>11</td></tr><tr><td>2/td><td>李四</td><td>12</td></tr><tr><td>3</td><td>王五</td><td>13</td></tr><tr><td>4</td><td>马六</td><td>14</td></tr></table>'
        content = (html)
        rows = ('//table[@]/tr')[1:]
        for row in rows:
            id = ('./td[1]/text()')[0]
            name = ('./td[2]/text()')[0]
            age = ('./td[3]/text()')[0]
            print(id, name, age)

代码对应的python版本为

xpath语法参考:http:///xpath/xpath_syntax.asp



博客参考:/yjyq1990/article/details/53116809