python爬蟲有多少種方式?只會最簡單的正則表達式,還有其他什麼工具嗎?

StephenFeng232431382


匹配方式主流的有三種:

1.re 我在爬蟲開發中一般用這種來匹配js中的內容。說下優缺點:調試困難,相對較難找出匹配了多少數據,由於頁面內容複雜較大概率出現錯誤匹配。

2.xpath選擇器和css選擇器 xpath是我開發過程中最常用的匹配方式,原理和css類似,都是基於html dom節點,不改變網頁內容基本不會出問題。兩者基本上規則都一樣,只是形式不同


火星異端


這裡介紹一種簡單的方式—BeautifulSoup,利用BeautifulSoup將爬蟲獲取到的html頁面轉化為樹形結構,然後再根據需要提取標籤的內容及屬性,不需要正則表達式,下面我簡單介紹一下BeautifulSoup安裝和使用,實驗環境win10+python3.6+pycharm5.0,主要內容如下:

1.安裝bs4,這裡直接在cmd窗口輸入命令“pip install bs4”就行,如下,很快就能安裝完畢:

2.安裝成功後,我們就可以進行測試了,為了更好地說明問題,這裡假設爬取的數據如下,內容比較簡單:

對應的網頁源碼結構如下:

根據網頁結構,解析代碼如下,這裡我是本地打開html文件,爬蟲的話,直接使用requests請求對應的頁面(requests.get(url)),解析的方式是一樣的:

程序運行截圖如下,已經成功獲取到數據:

至此,我們就完成了利用BeautifulSoup來解析網頁內容,整個過程不需要正則表達式。總的來說,這種方式很簡單,對於常見的簡單的頁面來說,完全夠用了(不過,正則表達式的使用範圍比較廣,建議還是認真學習一下),網上也有相關教程和資料,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧。


分享到:


相關文章: