Python3--爬蟲基礎知識和軟件準備(一)

1、python版本
air@airfull:~$ python --version

Python 3.6.5 :: Anaconda, Inc.

1、什麼是爬蟲

模擬客戶端(瀏覽器)發送網絡請求,獲取響應,按照規則提取數據的程序

  • 照着瀏覽器發送一模一樣的請求,獲取和瀏覽器一模一樣的數據

2、爬取的數據去哪兒了

呈現出來:展示在網頁上,或者是展示在app上(百度新聞)
進行分析:從數據中尋找一些規律

3、需要的軟件和環境

1、Python3
2、Anaconda

4、瀏覽器的請求

  • url
    • 在chrome中點擊 檢查 ,點到 network
    • url = 請求的協議(https:)+網站的域名(www.baidu.com)+資源的路徑(img/)+ 參數

5、瀏覽器的URL地址與爬蟲URL地址獲取信息的不同

  • 瀏覽器的URL地址對應的響應有:當前URL對應的響應+JS+CSS+圖片等
  • 其中,elements的內容與爬蟲獲取對應的地址的響應不同(無JS、CSS等),以實際獲取的數據爲準
  • 當前URL地址對應的響應在network中找到URL地址,點擊response

6、HTTP與HTTPS

  • HTTP:超文本傳輸協議,以明文的方式傳輸不安全,快速
  • HTTPS:HTTP+SSL(安全套接字層),在傳輸前進行加密,接收端接收後再次解密,安全,較慢

7、請求頭 request headers

GET /img/baidu_85beaf5496f291521eb75ba38eacbd87.svg HTTP/1.1  #請求行,get方法、post方法
Host: www.baidu.com #域名
Connection: keep-alive #常連接,不用每次都進行三次握手、四次揮手
Pragma: no-cache #無緩存
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)  Chrome/67.0.3396.99 Safari/537.36 #用戶代理
Accept: image/webp,image/apng,image/*,*/*;q=0.8
Referer: https://www.baidu.com/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: BIDUPSID=074F651E45385005E6287E2F5D838943; BAIDUID=EEE11FBD38DB6F7C3A323B33D85A061A:FG=1; PSTM=1530489540; BD_UPN=12314353; BDUSS=BPOERSU2RoMnFJY25UOUR3Wkgzc3JyYzg1ek5NYmlSMzczVkRiZHQyNzFQR0ZiQVFBQUFBJCQAAAAAAAAAAAEAAADdOHc7yP2437TzyqbQ1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPWvOVv1rzlbT1; ispeed_lsm=0; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; locale=zh; H_PS_645EC=26aeypihHuPLixmHYzN8K0ygpN4wY1GBDMMD2kJZv%2FPv%2FjCxqjmZaCKZAhfLr8FlbGHv; BD_HOME=1; H_PS_PSSID=1445_21115_22073; sugstore=0 #緩存
  • 對方服務器通過user-agent識別當前請求對方資源的是什麼瀏覽器或者是個爬蟲
  • cookies:用來存儲用戶信息的,每次請求會被攜帶上發送給對方的瀏覽器
    - 要獲取登陸後才能訪問的頁面
    - 對方的服務器會通過cookies判斷我們是不是一個爬蟲

8、請求體

get方法沒有請求體,get把數據放到了請求體中
post方法纔有請求體,用以攜帶大量數據,常用於用戶登錄註冊,傳輸大文本

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章