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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM