近期學了幾天的python爬蟲,在乙個人瞎摸索中吸取了很多經驗,在此把自己的初學者學習的經驗拿出來分享。urllib是用於獲取網路資源的庫,python3自帶。下面講的是python3,沒了解過python2,不過似乎有些地方兩者區別很大。
入門python3爬蟲需要對一些庫和模組有一定的了解,還需學會檢視網頁源**的技巧,並了解一些爬蟲框架。
初學爬蟲者,主要是掌握urllib庫中request模組的一堆函式功能。
有必要的話,也可以學習一下error模組。
request模組一些常用到的函式函式
功能簡介
request
返回乙個request物件,因為物件有些常用的方法,故而必要的時候需要用到。
urlopen
通過直接給的url或者request物件化後的url,返回乙個含有該url的網頁原始碼的物件。
proxyhandler
跟**有關函式,搭建與**的通訊
build_opener
跟**有關函式,建立乙個opener物件
install_opener
安裝opener
一些常用到的方法方法
功能簡介
read()
用於讀urlopen函式返回物件中的網頁原始碼
encode()
編碼decode()
解碼
編碼解碼還有這兩種函式,str是關於編碼的函式,bytes是關於解碼的函式。re模組網頁涉及到的編碼經常有』utf-8』和』'gb18030』等。
一些編碼解碼的內容可以看這一篇部落格——python3 中的編碼和解碼
首先,需要了解的是 re模組——正規表示式模組。
正規表示式是什麼?可以這麼說,是用於快速從一大堆字元中快速找出想要的子字串的一種表達方式。函式+表達方式=快速找出子字串。
這個模組是初學者必須要弄清楚的,內容比較多,在這裡就不多說了。可以參考我寫的一篇簡略的部落格——正規表示式
os模組
可用於對檔案文字的操作,可以建立資料夾,訪問資料夾內容等(博主對該庫了解不深,只用來建立過資料夾和訪問資料夾內容)
可以了解的函式有 建立資料夾用的函式mkdir和chdir、訪問資料夾裡的所有檔案函式listdir。
csv模組
爬取出來的資料可以以csv的格式儲存,可以用office辦公軟體中的excel**軟體開啟。
網上給出的寫法有好幾種,在此給出博主的寫法。
首先你需要了解內建函式open的newline引數用法,在這裡,用與去除存入csv檔案時多出來的空行。
csv模組函式
writer,返回乙個對寫入資料操作的物件。
writerow,引數是列表,在**中寫入一行資料。
import csv
filename = '統計.csv'
fileheader = ['姓名', '性別']
contexts = [['小明', '男'], ['小剛', '男'], ['小紅', '女'], ['小花', '女']]
with open(filename, 'w', newline='', encoding='gb18030') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(fileheader)
for people in contexts:
csv_writer.writerow(people)
**的文字內容,**,基本都在該**的網頁原始碼。故而爬取時,先把該**的網頁原始碼爬取出來,然後從網頁原始碼中篩選出自己想要的資料。用正規表示式從網頁原始碼中篩選資訊時,需要先看網頁原始碼來制定好合適的正規表示式。一般滑鼠右擊該網頁,找到」檢視網頁源**「這一選項即可開啟。
快捷鍵:ctrl + u
不過網頁源**太多太亂,有的時候找資訊並不容易,可以使用ctrl+f查詢功能進行查詢。
也可以在網頁中,找到你想爬取的資訊,然後右擊該資訊位置,找到」審核元素"或者"檢查"選項,可以看到整齊簡潔的**。
但是,爬取資訊都是基於網頁源**的,而"檢查"選項給出的**可能與源**不一樣,這樣的話就會出錯。這涉及到網路程式設計知識,不作解釋。
python3 爬蟲入門
這裡爬取貓眼電影 top100 榜的資訊,作為學習的第乙個demo。今天開始接觸的python,從爬蟲開始。語言相對來說比較簡單,環境配置到是花了不少時間。有個要注意的點是在引入beautifursoup庫的時候會報錯,因為3.x的庫需要引入的是beautifursoup4.到這一步環境配置基本上o...
python3爬蟲入門
pip install requests2 匯入requests import requests 3 requests方法 requests.get 獲取html網頁的主要方法,對應http的get4 獲取流程 url 使用get方法獲取資料,返回包含網頁資料的response響應,超時時間測試 r...
Python3爬蟲入門 一
python3爬蟲入門 在瀏覽器的位址列輸入url位址,在網頁處右鍵單擊,找到檢查。不同瀏覽器的叫法不同,chrome瀏覽器叫做檢查,firefox瀏覽器叫做檢視元素,但是功能都是相同的 可見即可爬 技術上 違法的 擦邊球 一 url 專業一些的叫法是統一資源定位符 uniform resource...