python:使用pyquery分析html

背景介绍

今天需要分析一个自动测试的结果,并且加入到zabbix中进行监控

但对方给出的结果是一个html文件且无法给出json,需要从html文件中获得相应的结果

html分析工具

1. HTMLParser, python自带,但感觉不太好用

2. BeautifulSop, 网上看到说的很强大,以后有时间再研究

3. Pyquery, 基于jQuery风格的代码,最近一直在写前端,感觉很亲切, so那就用这个吧

Centos 6.5安装pyquery

1. sudo yum install  libxml2-devel python-devel libxslt-devel            //必须安装这三个包,否则pip安装会报错

2. sudo pip install pyquery

分析代码

#!/usr/bin/env python

import requests
from pyquery import PyQuery as pq
import sys
r = requests.get('http://xx.xx.xx.xx/index.html')
d = pq(r.content)                                                             //注意这里,一定要用content或者raw等原始的数据,不支持进行格式转化后的数据
result = d("a.popup_link").text()                                      //初始化以后,就可以像jQuery一样进行元素的选取了
keys = d(".testcase").text()
values = d(".popup_link").text()
data = {}
for i,j in zip(keys.split(), values.split()):
    if j == 'pass':
        j = 0
    else:
        j = 1
    data[i] = j
argv = sys.argv[1:][0]

print data[argv]

你可能感兴趣的:(python学习,python,html,pyquery)