• 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
  • 相关阅读:
    java基础:6.3 封装类、Number类、格式化输出、String
    java 快捷键记录
    java基础:6.2 Object、final、abstract、内部类
    如何解决.so 文件下载到mac 失败的问题
    mac 将.so文件上传到SVN上
    限制输入内容的需求
    Android Intent调用 Uri的使用几种格式
    onItemClick的参数
    Android常见的几种RuntimeException
    android:inputType参数类型说明
  • 原文地址:https://www.cnblogs.com/loren880898/p/10768566.html
Copyright © 2020-2023  润新知