例如:
此形式的表數據,可用pandas獲取
首先獲取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

