入門python3爬蟲需要掌握的知識與技巧

2021-08-11 15:33:48 字數 2250 閱讀 9400

近期學了幾天的python爬蟲,在乙個人瞎摸索中吸取了很多經驗,在此把自己的初學者學習的經驗拿出來分享。

下面講的是python3,沒了解過python2,不過似乎有些地方兩者區別很大。

入門python3爬蟲需要對一些庫和模組有一定的了解,還需學會檢視網頁源**的技巧,並了解一些爬蟲框架。

urllib是用於獲取網路資源的庫,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是關於解碼的函式。

網頁涉及到的編碼經常有』utf-8』和』'gb18030』等。

一些編碼解碼的內容可以看這一篇部落格——python3 中的編碼和解碼

re模組

首先,需要了解的是 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...