在網頁上搜尋需要的資訊,瀏覽器交流的物件不只有我們,還有伺服器,伺服器就類似於乙個超級電腦,它可以計算和儲存大量資料,並且在網際網路中相互傳輸資料。
爬取資料的步驟:
首先,在瀏覽器上輸入**(url),瀏覽器向伺服器傳達了我們想要訪問某個網頁的需求,這個過程叫做【請求】,緊接著,伺服器把我們想要訪問的**資料傳送給瀏覽器,這個過程叫做【響應】。
所以瀏覽器和伺服器之間,先請求,後響應,有這麼一層關係。
當伺服器把資料響應給瀏覽器之後,瀏覽器並不會把資料丟給我們,因為這些資料是用計算機的語言寫的,瀏覽器還要把這些資料翻譯成我們看得懂的樣子,這是瀏覽器做的另一項工作【解析資料】。
拿到的資料中,挑選出對我們有用的資料,這是【提取資料】。
最後把這些有用的資料儲存好,這是【儲存資料】。
總結:. 獲取資料(爬蟲程式會根據我們提供的**,向伺服器發起請求,然後返回資料。)
. 解析資料(爬蟲程式會把伺服器返回的資料解析成我們能讀懂的格式。二進位制或字串等等)
. 提取資料(爬蟲程式再從中提取出我們需要的資料。)
. 儲存資料 (爬蟲程式把這些有用的資料儲存起來,便於你日後的使用和分析)
爬蟲的工作原理:
爬蟲**詳細介紹:
requests.get(
)
具體用法:
import requests
#引入requests庫
res = requests.get(
'url'
)#requests.get是在呼叫requests庫中的get()方法,它向伺服器傳送了乙個請求,括號裡的引數是你需要的資料所在的**,然後伺服器對請求作出了響應。
#我們把這個響應返回的結果賦值在變數res上。
)#列印變數res的資料型別
執行結果:
可以看到這裡的res其實是類,它是requests.models.response的類,它也有幾個方法
response.status_code
檢查請求是否成功
import requests
res = requests.get(
'')print
(res.status_code)
#列印變數res的響應狀態碼,以檢查請求是否成功
執行結果:
(顯示了200,這個數字代表伺服器同意了請求,並返回了資料給我們)
)#傳送請求,並把返回的結果放在變數res中
pic=res.content
#把response物件以二進位制資料的形式返回
)#新建了乙個檔案ppt.jpg
#內容需要以二進位制wb寫入
photo.write(pic)
#獲取pic的二進位制內容
photo.close(
)
import requests
#引用requests庫
res=requests.get(
'url'
)novel=res.text
#把response物件的內容以字串的形式返回
print
(novel[
:800])
#只列印**的一部分
import requests
res=requests.get(
'url'
)novel=res.text
k=open
('**.txt'
,'a+'
)#以追加的形式開啟乙個檔案
k.write(novel)
k.close
#關閉文件
res=requests.get(
''url)
res.encoding=
'gbk'
#這個地方還是亂碼的話,那就試試utf-8
novel=res.text
print
(novel[
:800
])
robots 協議是網際網路爬蟲的一項公認的道德規範,它的全稱是「網路爬蟲排除標準」,通過這個協議可以知道哪些頁面是可以爬取的,哪些是不可以的。
在**的網域名稱後面加上 /robots.txt 就可以
Python爬蟲基礎 1
url uniform resource locator 統一資源定位符。採用url可以用一種統一的格式來描述各種資訊資源,包括檔案 伺服器的位址和目錄等。url的一般格式為 帶方括號的為可選項 protocol hostname port path parameters query fragmen...
Python爬蟲基礎1
python版本 3.6 編譯器 pycharm 系統 win 10 1 file new project create 2 右擊建立的專案 new python file 3 開始輸入 import urllib.request response urllib.request urlopen pr...
Python爬蟲 1 基礎
爬蟲 spider 是用指令碼代替瀏覽器請求伺服器獲取伺服器資源的程式。python爬蟲優勢,支援模組很多,有scrapy非常強大的爬蟲框架 1.通用爬蟲 2 功能 訪問網頁 抓取資料 資料儲存 資料處理 提供檢索服務 3 爬取流程 給定一些起始的url,放入待爬取佇列 從佇列中獲取url物件,開始...