1. 程式人生 > >Html 簡單解析

Html 簡單解析

1. Xpath

'''
    xpath 比 BeautifulSoup 快
    nodename	 選取此節點的所有子節點。
    /	        從根節點選取。
    //	        從匹配選擇的當前節點選擇文件中的節點,而不考慮它們的位置。
    .	        選取當前節點。
    ..	        選取當前節點的父節點。
    @           選取屬性
    *	        匹配任何元素節點。
    @*	        匹配任何屬性節點。
    node()      配任何型別的節點
'''
xpath 簡單語法示例
//p[@class="story"]  全範圍找 屬性為story的p標籤
//title  全範圍找 title 標籤
在裡面 加一些 簡單的判斷如 and not 
//li[(@_chapterid) and not(@id="video-0")]   找到某屬性,但不存在另一屬性的li標籤,


from lxml import etree

tree = etree.HTML(HTML內容) # 會自動補全 html 標籤

tree.xpath('語法')[0].text   #取到內容

tree.xpath('語法')[0].tar    # 取到節點名            

tree.xpath('//title')[0].getparent().tag       父節點

tree.xpath('//a')[1].get('class')  獲取屬性

tree.xpath('//a')[1].attrib   所有屬性的字典

tree.xpath('//text()')  所有字串的列表    

tree.xpath("string()")  # 所有文字,字串 型別,以單一標籤為分界,如 <br/>

2.正則

正則比 xpath 和 BeautifulSoup 都快
網上 太多了,
隨便找一篇:https://www.cnblogs.com/greatfish/p/7572131.html

其中一些方法增加點印象:
在這裡插入圖片描述