一、學習分佈式python網絡爬蟲第一天

1~3天學習目錄

  1. 爬蟲基礎
  2. urllib庫基本使用
  3. 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協議中,向服務器發送一個請求,數據分爲三部分:

  1. 把數據放在url中。
  2. 把數據放在body中(post請求)。
  3. 把數據放在head中。
    網絡爬蟲中經常會用到的一些請求頭參數:
  4. User-Agent:瀏覽器名稱。
  5. Referer:表明當前這個請求是從哪個url過來的。一般用來做反爬蟲技術,如果不是從指定頁面過來的,那麼就不做相應的響應。
  6. Cookie:http協議是無狀態的,也就是同一個人發送了兩次請求,服務器沒有能力知道這兩個請求是否來自同一個人,因此這時候就用cookie來做標識。一般用來做登陸後才能訪問的網站。

8.常見的響應狀態碼

  1. 200:請求正常,服務器正常返回數據。
  2. 301:永久重定向。比如在訪問www.jingdong.com的時候會重定向到www.jd.com。
  3. 302:臨時重定向。比如在訪問一個需要登陸的頁面時,若沒有登陸,則會重定向到登陸頁面。
  4. 404:請求的url不存在。
  5. 403:服務器拒絕訪問,權限不夠。
  6. 500:服務器內部錯誤,可能是服務器出bug了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章