zoukankan      html  css  js  c++  java
  • Python爬取表结构数据---pandas快速获取

    例如:

    此形式的表数据,可用pandas获取

    image

    首先获取table

    import requests
    from lxml import etree
    import pandas as pd
    
    url = 'http://dn4.gxzjt.gov.cn:1141/WebInfo/Enterprise/Enterprise_Detail.aspx?prjnum=43445821-a17e-4c7b-9217-97c4e38cbf30'
    a = requests.get(url).text
    b = etree.HTML(a)
    c = b.xpath("//div[@id='ContentPlaceHolder1_UpdatePanel2']/fieldset/table")

    然后使用pandas将数据内容转成列表嵌套字典格式

    zcry_table = etree.tostring(c[0], encoding='utf-8').decode()
    df = pd.read_html(zcry_table, encoding='utf-8', header=0)[0]
    results = list(df.T.to_dict().values())   # 转换成列表嵌套字典的格式
    print(results)

    结果如下:

    [{'序号': 1, '人员姓名': '高轩跃', '证件号码': '362427********361X', '注册专业及等级': '二建造师注册证书', '专业': '公路工程', '注册证书编号': '桂245151545179', '有效期至': '2018/4/24 0:00:00'}, {'序号': 2, '人员姓名': '高轩跃', '证件号码': '362427********361X', '注册专业及等级': '二级建造师注册证书', '专业': '市政公用工程', '注册证书编号': '桂245151545179', '有效期至': '2018/4/23 0:00:00'}, {'序号': 3, '人员姓名': '高轩强', '证件号码': '362427********3615', '注册专业及等级': '暂无', '专业': nan, '注册证书编号': nan, '有效期至': nan}, {'序号': 4, '人员姓名': '曹明亮', '证件号码': '360101********5010', '注册专业及等级': '暂无', '专业': nan, '注册证书编号': nan, '有效期至': nan}, {'序号': 5, '人员姓名': '崔庆梅', '证件号码': '530325********1726', '注册专业及等级': '暂无', '专业': nan, '注册证书编号': nan, '有效期至': nan}, {'序号': 6, '人员姓名': '李晓燕', '证件号码': '530126********0846', '注册专业及等级': '暂无', '专业': nan, '注册证书编号': nan, '有效期至': nan}]

    最后循环依次取出:

    for result in results:
        ryxm = result['人员姓名']
        zjhm = result['证件号码']
        zclxjdj = result['注册专业及等级']
        zy = result['专业']
        zczsbh = result['注册证书编号']
        yxqz = result['有效期至']
        print(ryxm, zjhm, zclxjdj, zczsbh, zy, yxqz)
    高轩跃 362427********361X 二建造师注册证书 桂245151545179 公路工程 2018/4/24 0:00:00
    高轩跃 362427********361X 二级建造师注册证书 桂245151545179 市政公用工程 2018/4/23 0:00:00
    高轩强 362427********3615 暂无 nan nan nan
    曹明亮 360101********5010 暂无 nan nan nan
    崔庆梅 530325********1726 暂无 nan nan nan
    李晓燕 530126********0846 暂无 nan nan nan
  • 相关阅读:
    [Debug] A strange error encountered today in ROS
    实操 | 安装一台3D打印机
    实操 | Getting started with Baxter Research Robot ...
    学习笔记 | What is Monocular Vision?
    路线图 | Roadmap of SLAM Research
    路线图 | Road-map of Cracking the Coding Interview as a C++ Developer
    实操 | Implementing Cartographer ROS on TurtleBots
    实操 | Implementing Google's Open Source Slam "Cartographer" demos in ROS / rviz
    科技新闻 | Google's Open Source SLAM Library ---- Cartographer
    实操 | Implementing "slam_karto" package on a Freight robot
  • 原文地址:https://www.cnblogs.com/loren880898/p/10768566.html
Copyright © 2011-2022 走看看