1~3天學習目錄
- 爬蟲基礎
- urllib庫基本使用
- requests庫基本使用
爬蟲基礎知識
1.什麼是爬蟲
爬蟲是一個模擬人類請求網站行爲的程序,可以自動請求網頁,並把數據爬取下來,然後用一定的規則提取有價值的數據。
2.爬蟲的應用場景
a. 搜索引擎(百度等)
b. 數據分析
c. 搶票軟件等
3.爲什麼要用python寫爬蟲
python語法優美、代碼簡潔、開發效率高、支持的模塊多,相關的HTTP請求模塊和HTML解析模塊非常豐富,還有scrapy和scrapy_redis框架讓我們開發爬蟲變得異常簡單。
4.HTTP協議介紹
HTTP協議:超文本傳輸協議,是一種發佈和接收HTML頁面的方法。服務器端口號是80端口。(美團網站)
HTTPS協議:是HTTP協議的加密版本,在HTTP下添加了SSL層。服務器端口號是443端口。(簡書網站)
5.URL(統一資源定位器)詳解
scheme://host:port/path/?query-string=xxx#anchor
a. scheme:代表的是訪問的協議,一般爲http,https,ftp等。
b. host:主機名,域名。
c. port:端口號,當你訪問一個網站的時候,瀏覽器默認使用80端口。
d. path:查找路徑。
e. query-string:查詢字符串。
f. anchor:錨點,前端用來做頁面定位的,現在一些前後端分離項目也用錨點來做導航。
補充:在瀏覽器中請求一個url時,瀏覽器會對這個url進行一個編碼。
6.常見的請求method
a. get:一般情況下,只從服務器獲取數據下來,並不會對服務器資源產生任何影響的時候使用。
b. post:向服務器發送數據、上傳文件等,會對服務器資源產生影響的時候使用。
7.常見的請求頭參數
在http協議中,向服務器發送一個請求,數據分爲三部分:
- 把數據放在url中。
- 把數據放在body中(post請求)。
- 把數據放在head中。
網絡爬蟲中經常會用到的一些請求頭參數: - User-Agent:瀏覽器名稱。
- Referer:表明當前這個請求是從哪個url過來的。一般用來做反爬蟲技術,如果不是從指定頁面過來的,那麼就不做相應的響應。
- Cookie:http協議是無狀態的,也就是同一個人發送了兩次請求,服務器沒有能力知道這兩個請求是否來自同一個人,因此這時候就用cookie來做標識。一般用來做登陸後才能訪問的網站。
8.常見的響應狀態碼
- 200:請求正常,服務器正常返回數據。
- 301:永久重定向。比如在訪問www.jingdong.com的時候會重定向到www.jd.com。
- 302:臨時重定向。比如在訪問一個需要登陸的頁面時,若沒有登陸,則會重定向到登陸頁面。
- 404:請求的url不存在。
- 403:服務器拒絕訪問,權限不夠。
- 500:服務器內部錯誤,可能是服務器出bug了。