py爬蟲概覽

2021-09-16 22:58:07 字數 1592 閱讀 1132

**:

1、發起請求

使用http庫向目標站點發起請求,即傳送乙個request

request包含:請求頭、請求體等 

request模組缺陷:不能執行js 和css **

2、獲取響應內容

如果伺服器能正常響應,則會得到乙個response

3、解析內容

解析html資料:正規表示式(re模組),第三方解析庫如beautifulsoup,pyquery等

解析json資料:json模組

解析二進位制資料:以wb的方式寫入檔案

4、儲存資料

資料庫(mysql,mongdb、redis)

檔案1、請求方式:

常見的請求方式:get / post

2、請求頭

user-agent:請求頭中如果沒有user-agent客戶端配置,服務端可能將你當做乙個非法使用者host;

cookies:cookie用來儲存登入資訊

注意: 一般做爬蟲都會加上請求頭

請求頭需要注意的引數:

(2)user-agent:訪問的瀏覽器(要加上否則會被當成爬蟲程式)

(3)cookie:請求頭注意攜帶

3、請求體

如果是get方式,請求體沒有內容 (get請求的請求體放在 url後面引數中,直接能看到)

如果是post方式,請求體是format data

ps:1、登入視窗,檔案上傳等,資訊都會被附加到請求體內

2、登入,輸入錯誤的使用者名稱密碼,然後提交,就可以看到post,正確登入後頁面通常會跳轉,無法捕捉到post

1、響應狀態碼

200:代表成功

301:代表跳轉

404:檔案不存在

403:無許可權訪問

502:伺服器錯誤

2、respone header

響應頭需要注意的引數:

(1)set-cookie:bdsvrtm=0; path=/:可能有多個,是來告訴瀏覽器,把cookie儲存下來

(2)content-location:服務端響應頭中包含location返回瀏覽器之後,瀏覽器就會重新訪問另乙個頁面

3、preview就是網頁源**

jso資料

如網頁html,

二進位制資料等 

1、總結爬蟲流程:

爬取--->解析--->儲存

2、爬蟲所需工具:

請求庫:requests,selenium(可以驅動瀏覽器解析渲染css和js,但有效能劣勢(有用沒用的網頁都會載入);)

解析庫:正則,beautifulsoup,pyquery

儲存庫:檔案,mysql,mongodb,redis

Py爬蟲自學路線

1.json資料格式 2.python3中的urllib包 官方文件 中文翻譯版 request物件 urllib.parse包 3.http請求頭中user agent使用者 4.重定向 7.utf 8轉換工具 utf 8 unicode acsii學習 8.向檔案追加內容 9.yield使用方法...

py 爬蟲入門 記 urlopen 函式

urlopen 函式。proxies filehandle urllib.urlopen some url,proxies proxies filehandle urllib.urlopen some url,proxies filehandle urllib.urlopen some url,pr...

py 爬蟲2 百度翻譯

post 請求 攜帶了引數 響應資料是一組json資料 import requests import json if name main 指定 url post url 進行ua 偽裝 headers post 請求引數處理 同get 請求一致 word input 輸入需要翻譯的詞 data 請求...