基于lxml.etree实现xpath查找HTML元素
By:授客 QQ:1033553122
#实践环境
WIN 10
Python 3.6.5
lxml-4.6.2-cp36-cp36m-win_amd64
/usr/bin/env python
# -*- coding:utf-8 -*-
from lxml import etree
html_str = '''<html>
<body>
'''
root_node = etree.HTML(html_str) # 解析HTML字符串,并返回HTML根结点
print('根节节点名称为:%s' % root_node.tag) #
输出 html
# 查找根节点
print(root_node.xpath('/html')) # 输出 <Element html at 0x17245dc8508>]
tr_element_list
#the-element-class
https://lxml.de/tutorial.html#the-xml-function
折半查找基本要求:待查找数组必须是有序的(以下代码是基于递增有序)
/**
* 折半查找
* @param a 给定数组
* @param low
* @param high
* @param k 需要查找的数字
* @return
*/
public static int bSearch(int[] a, int low, int high, int k){
high)/2; // 取表中间位置
if(a[mid]==k){
return mid;
}else if(a[mid]>k){ // 说明需要在a[low...mid-1] 中查找
, 即左边查找
high = mid-1;
} else{ // 说明需要在a[mid+1...high] 中查找, 即右边查找
low = mid +1;
}
}
{1, 2, 3, 4, 5};
System.out.println(bSearch(a, 0, a.length-1, 5));
}
输出结果:
4
时间复杂度:O(logn)
平均查找长度