獲取html片斷能夠用來作什麼?css
能夠用來分割,也能夠分析HTML文檔html
beautifulsoup用法?html5
安裝beautifulsoup庫: pip install beautifulsoup4web
由於bs裏面缺省的庫對html的兼容性不夠,還要安裝一個庫來實現: pip install html5libhtm
下面附上bs1.html代碼截圖:對象
經過代碼實現:blog
# BS操做對象是字符串,假設要對某個html文本做分析,就要先將文本的字符串讀出來。ip
with open('bs.html',encoding='utf8') as f:ci
html_doc = f.read()element
# 導入相關庫,html5lib不用導入,BS會自動引用
from bs4 import BeautifulSoup
# 指定用HTML5lib來解析文檔
soup = BeautifulSoup(html.doc, 'html5lib') # 第一個參數是要解析的文本,第二個參數指定是用htmllib庫來解析的
# print(soup.title) # 打印出第一個title的內容
# print(soup.find('title'))
# print(soup.title.name) # 獲取標籤名
# 獲取tag(標籤)文本內容
# print(soup.title.string)
# 也能夠:
# print(soup.title.get_text())
# 若是要獲取tag的父節點tag
# print(soup.title.parent)
# print(soup.title.parent.name)
# 若是要獲取元素的屬性值
# print(soup.div['id'])
# print(soup.p['style'])
# print(soup.a) 只找到第一個標籤
# print(soup.find_all('a')) 找到全部的a標籤
# print(soup.find_all('a')[1]) 找到第二個a標籤 根據下標
# print(soup.find('a', id='link1')) 根據id屬性來查找相應的a標籤
# print(soup.find('a', href='http://example.com/lacie')) # 根據超連接來查找相應的a標籤
webdriver提供的八種基本元素定位:
經過id屬性選擇元素:find_element_by_id()
經過name屬性選擇元素:find_element_by_name()
經過classs屬性選擇元素:find_element_by_class_name()
經過tag(標籤)屬性選擇元素:find_element_by_tag_name()
經過link選擇元素:find_element_by_link_text()
經過partial_link(模糊匹配的方式)定位:find_element_by_partial_link_text()
經過xpath選擇元素:find_element_by_xpath()
經過css選擇元素:find_element_by_css_selector()