1.爬蟲三種分類:
通用爬蟲:爬取整個頁面的資料
聚焦爬蟲:爬取經過篩選過濾後的資料,基於一張頁面的區域性內容.
增量式爬蟲:爬蟲監測**更新後的資料,
2.什麼是ua檢測,如何破解?
ua檢測:伺服器會用來通過獲取請求,通過請求獲取請求頭中的ua,通過判定ua的值,知道請求的載體身份標識.
將爬蟲程式發起請求的資訊,偽裝成瀏覽器的請求
ua檢測是一種反爬機制,反爬對應的是門戶**,
反反爬策略對應的是爬取程式,破解反爬機制的是反反爬策略
3.簡述https的加密流程?
證書秘鑰加密:伺服器生成公私鑰,伺服器傳送公鑰給第三方證書認證機構,認證機構將公鑰經過數字簽名,作為防偽標識,證書和公鑰都會返回給伺服器,服務端再傳送給客戶端,,客戶端通過公鑰和數字簽名驗證加密之後,將加密之後的密文傳給伺服器.
4.什麼是動態載入的資料?如何爬取動態載入的資料?
ajax可以動態載入資料,有時候某些東西不是所見即所得,可能是ajax傳送的請求資料.
通過抓包工具捕獲ajax請求的資料報,將資料報中的url包括引數獲取之後,傳送請求,返回json串
ajax一般返回的是json串,也可能是其他形式的請求.
5.requests模組中的get和post方法的常用引數及其作用?
url,data,params和headers
6.問題1,ip被封,這個用自己的熱點
問題2,頁碼有問題?50頁之後的有問題,通過try..except排除異常
7.化妝品生產許可資訊管理系統服務
全域性搜尋:
選擇隨便乙個包,按下ctrl+f搜尋,搜尋的內容如下圖所示
我們看到資料報,就是下圖所示的位置:
最好的就是全域性搜尋,找到對應的搜尋包
我們看到下圖的全域性引數:
response指代的是響應的資料.
上圖是我們響應的json字串,解析之後,我們看到下圖的id
分析:125.35.6.84:81/xk/
#form data #引數
# on:
true
# page:
1# pagesize:
15# productname:
# conditiontype:
1
分析:(1)通過抓包工具檢測出首頁中的企業資訊資料全部為動態載入
(2)通過抓包工具獲取動態載入資料對應的ajax的資料報(url,請求引數)
(3)通過對步驟2的url請求後獲取的響應資料中分析出有乙個特殊的字段id(每家企業都有乙個唯一的id值)
(4)從手動點選企業進入企業的詳情頁,發現瀏覽器位址列中的url中包含了該企業的id和固定的網域名稱可以拼接成詳情頁的url
(5)發現詳情頁的企業詳情資訊對應的資料值是動態載入出來的.上述我們獲取詳情頁中的url是無用的.
(6)通過抓包工具的全域性搜尋的功能,可以定位到企業詳情資訊對應的ajax資料報(url,請求引數),對應的響應資料就是最終我們想要爬取的企業詳細資料.
注意:先寫思路,再寫程式
程式需要先一點點寫,再寫出全部.
寫一步執行一步.
import requests抓取的資料是下面的內容:headers=
#第一請求的url位址
first_url='
'ids=
#如何爬取前10頁的資料?,雙擊選中
for page in range(1,11
): data=
#json_obj=requests.post(url=first_url,data=data,headers=headers).json()
response=requests.post(url=first_url,data=data,headers=headers) #響應物件
#response.headers返回的是響應頭資訊(字典)
if response.headers['
content-type
']=='':
json_obj=response.json()
for dic in json_obj['
list']:
'id'])
#print(ids) #這個時候我們已經獲取到了id
detail_url='
'for _id in
ids:
data=
company_text=requests.post(detail_url,data=data,headers=headers).text
print(company_text)
小爬爬4 回顧
1.美團抓取回顧id是處理的核心問題 2.回顧重點內容 1 模擬登陸 有時我們需要爬取基於當前使用者的使用者資訊 需要登入後才可檢視 實現流程 借助於珠寶工具,抓取點選登入按鈕發起的post請求 url,引數 動態引數 攜帶cookie對其他子頁面進行請求傳送 注意 cookie不止用於登入,有些 ...
2017 03 20回顧 霸氣
1 仔細看了矩陣求導的公式,推出了最小二乘的引數表示式,但是矩陣求導公式本身,我嘗試推導了一下,發現沒對頭,矩陣求導的關鍵就是對其中每乙個元素分別求導,然後照著 機器學習實戰 寫了最小二乘法的 2 和群內的夥伴交流了下,也說到了是否有意去外地,這成了我最近亟待考慮的問題 3 其中提到exprian的...
複習筆記2 回顧C C 語言
void mergelist linklist h1,linklist h2 輸入兩個公升序鍊錶的頭結點h1和h2,公升序合併為乙個鍊錶存入到頭結點 h1中 下面有兩種方法 方法一是本人一開始想的,方法二是參 考試的時候方法二思路容易理清一點 方法一 include using namespace ...