python爬蟲基礎知識之選擇器

2021-08-13 10:19:26 字數 1518 閱讀 2275

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伺服器找到伺服器主機後,向伺服器發出請求,伺服器經過解...

爬蟲基礎知識

大資料時代,要進行資料分析,首先要有資料來源。而學習爬蟲,可以讓我們獲取更多的資料來源,並且這些資料來源可以按我們的目的進行採集,去掉很多無關資料。網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。只要是瀏覽器能做的事...