1 選擇器
id1.1 class
屬性選擇器:可以指定值來選擇
後代選擇器(包含選擇器)
子選擇器
1.2 xpath
使用路徑表示式在xml中進行導航
1.3 xpath和css的區別:
css更簡潔
xpath檔案路徑,看作目錄樹
xpath謂語很強大
1.4 json
類似xml,但是更小更簡潔
很方便,把字串和字典來回切換
2 xml處理的兩種模式dom和sax的優劣
dom把整個xml讀入記憶體,解析為樹,占用記憶體大, 解析慢
sax流模式,邊讀邊解析,占用記憶體小,解析快
xml處理爬蟲的三個重要內容:標籤,屬性,內容,處理方式主要是dom和sax
3 xml—xpath—dom/sax
3.1 通過dom處理
小文字,處理的方便
#獲取根節點
doc=minidom.parse('book.xml')
root=doc.documentelement
print(type(root))
print(dir(root))
print(root.nodename)
books=root.getelementsbytagname('book')
for book in books:
titles=book.getelementsbytagname('title')
prices=book.getelementsbytagname('price')
title=titles[0].childnodes[0].nodevalue
price=prices[0].childnodes[0].nodevalue
print(title,price)
3.2 sax爬蟲
自己維護層級關係
處理大文字效率很高
一開始寫defaultsaxhandler
實現三個方法:start_element, end_element,char_data
4 正規表示式
方便的檢查乙個字串是否與某種模式匹配
re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。
函式語法:
re.match(pattern, string, flags=0)
5 selenium
主要用於測試,簡單的爬蟲比較合適
用於爬蟲的兩個命令:find_element(s)_by_tag_name
find_element(s)_by_css_selector
如果直接用request,不能處理js,也就是不能處理動態網頁,而selenium可以動態調動模擬瀏覽器
Python爬蟲之CSS基礎知識
css是層疊樣式表 cascading style sheets用的縮寫,用來定義html元素屬性,使html文件顯示多樣化。在html中,css一般有三種用法 1 內聯樣式表。直接將css 寫在html標記中 裡 使用style屬性改變其樣式。2 嵌入式樣式表。將css 寫在之間,內容寫在之間。3...
Python基礎知識 爬蟲入門
爬蟲,即網路爬蟲。打個形象的比方 乙隻蜘蛛在蜘蛛網上爬,可以以某種方式從網上的某個地方找到自己想要的東西。那麼和網頁相聯絡起來有什麼關係呢?首先我們先簡單介紹一下網頁的基本概念。所謂網頁,也就是我們給瀏覽器輸出乙個字串,瀏覽器進行解析後,經dns伺服器找到伺服器主機後,向伺服器發出請求,伺服器經過解...
爬蟲基礎知識
大資料時代,要進行資料分析,首先要有資料來源。而學習爬蟲,可以讓我們獲取更多的資料來源,並且這些資料來源可以按我們的目的進行採集,去掉很多無關資料。網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。只要是瀏覽器能做的事...