一、爬蟲是什麼?
爬蟲要做的是什麼?
使用者獲取網路資料的方式是:
爬蟲程式要做的就是:
區別在於:
我們的爬蟲程式只提取網頁**中對我們有用的資料
為什麼要做爬蟲
爬蟲的價值:
網際網路中最有價值的便是資料,比如天貓**的商品資訊,鏈家網的租房資訊,雪球網的**投資資訊等等,
這些資料都代表了各個行業的真金**,可以說,誰掌握了行業內的第一手資料,誰就成了整個行業的主宰,如果把整個網際網路的資料比喻為一座寶藏,
那我們的爬蟲課程就是來教大家如何來高效地挖掘這些寶藏,掌握了爬蟲技能,你就成了所有網際網路資訊公司幕後的老闆,換言之,它們都在免費為你提供有價值的資料。
二、爬蟲的基本流程
#1、發起請求
使用http庫向目標站點發起請求,即傳送乙個request
request包含:請求頭、請求體等
#2、獲取響應內容
如果伺服器能正常響應,則會得到乙個response
#3、解析內容
解析html資料:正規表示式,第三方解析庫如beautifulsoup,pyquery等
解析json資料:json模組
解析二進位制資料:以b的方式寫入檔案
#4、儲存資料
資料庫檔案
三、請求與響應
#http協議:
#request:使用者將自己的資訊通過瀏覽器(socket client)傳送給伺服器(socket server)
#ps:瀏覽器在接收response後,會解析其內容來顯示給使用者,而爬蟲程式在模擬瀏覽器傳送請求然後接收response後,是要提取其中的有用資料。
四、request#1、請求方式:
常用的請求方式:get,post
其他請求方式:head,put,delete,opthons
ps:用瀏覽器演示get與post的區別,(用登入演示post)
post與get請求最終都會拼接成這種形式:k1=***&k2=yyy&k3=zzz
post請求的引數放在請求體內:
可用瀏覽器檢視,存放於form data內
get請求的引數直接放在url後
#2、請求url
url全稱統一資源定位符,如乙個網頁文件,一張
url編碼
會被編碼(看示例**)
網頁的載入過程是:
載入乙個網頁,通常都是先載入document文件,
#3、請求頭
user-agent:請求頭中如果沒有user-agent客戶端配置,
服務端可能將你當做乙個非法使用者
host
cookies:cookie用來儲存登入資訊
一般做爬蟲都會加上請求頭
#4、請求體
如果是get方式,請求體沒有內容
如果是post方式,請求體是format data
ps:1、登入視窗,檔案上傳等,資訊都會被附加到請求體內
2、登入,輸入錯誤的使用者名稱密碼,然後提交,就可以看到post,正確登入後頁面通常會跳轉,無法捕捉到post
'''
'''#! /usr/bin/env python
# -*- coding: utf-8 -*-
import requests
from urllib.parse import urlencode
# 請求方式
kwords = input("請輸入關鍵字:>>").strip()
url =""+res #%e5%9b%be%e7%89%87
response = requests.get(
url,
# 請求頭
headers=,
)with open("a.html","w",encoding="utf-8") as f:
f.write(response.text)
print(response.status_code)
'''
'''#! /usr/bin/env python
# -*- coding: utf-8 -*-
import requests
from urllib.parse import urlencode
kwords = input("請輸入關鍵字:>>").strip()
response = requests.get(
"",params=,
# 請求頭
headers=,
)with open("b.html", "w", encoding="utf-8") as f:
f.write(response.text)
print(response.status_code)
五 response#1、響應狀態
200:代表成功
301:代表跳轉
404:檔案不存在
403:許可權
502:伺服器錯誤
#2、respone header
set-cookie:可能有多個,是來告訴瀏覽器,把cookie儲存下來
#3、preview就是網頁源**
最主要的部分,包含了請求資源的內容
如網頁html,
二進位制資料等
六 總結#1、總結爬蟲流程:
爬取--->解析--->儲存
#2、爬蟲所需工具:
請求庫:requests,selenium
解析庫:正則,beautifulsoup,pyquery
儲存庫:檔案,mysql,mongodb,redis
#3、爬蟲常用框架:
scrapy
爬蟲基本原理
三種爬蟲方式 通用爬蟲 抓取系統重要組成部分,獲取的是整張頁面資料 聚焦爬蟲 建立在通用爬蟲之上,抓取頁面指定的區域性內容 增量式爬蟲 檢測 資料更新的情況,只抓取更新出來的資料 https協議 安全的超文字傳輸協議 證書秘鑰加密 請求頭 響應頭 加密方式 傳送請求 獲取響應內容 解析內容 儲存資料...
爬蟲基本原理
一 爬蟲介紹 本質,就是想 傳送http請求,拿回一些頁面 json格式資料 request 處理資料,解析出有用的東西 re,bs4 儲存 mysql,檔案,cvs,redis,mongodb,es 分析 cookie池和 池 正向 和反向 正向 自己,反向 伺服器 爬蟲運用模組 requests...
爬蟲基本原理(2)
請求 並提取資料的 自動化程式 發起請求 通過http庫向 目標站點發起請求,即傳送 個request,請求可以包含額外的headers等資訊,等待伺服器響應。獲取相應內容 解析內容 得到的內容可能是html,可以 用正規表示式 頁解析庫進 解析。可能是json,可以直接轉為json物件解析,可能是...