自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

失敗了n次以后,我總結了5種爬蟲偽裝技巧!

安全 應用安全
爬蟲偽裝的最高境界就是用代碼模擬人的真實操作,因為網(wǎng)站設計出來就是為了讓別人訪問的,掌握爬蟲的偽裝技巧,能夠讓大大提高我們爬蟲的成功率。

[[399747]]

大家好,我是鳥哥,今天給大家聊一聊爬蟲。

爬蟲偽裝的最高境界就是用代碼模擬人的真實操作,因為網(wǎng)站設計出來就是為了讓別人訪問的,掌握爬蟲的偽裝技巧,能夠讓大大提高我們爬蟲的成功率。

結合自身的經(jīng)驗,給大家介紹5種爬蟲偽裝的技巧,并把代碼模板奉上,希望能夠?qū)δ阌兴鶐椭?/p>

1.瀏覽器偽裝

因為網(wǎng)站服務器能夠很輕易的識別出訪問的來源瀏覽器,以requests請求為例,默認header頭數(shù)據(jù)中沒有瀏覽器信息,在與瀏覽器交互時簡直就是“裸奔”,所以我們可以加入“User-Agent”信息偽裝成真實瀏覽器,代碼如下:

  1. import requests  
  2. headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'}  #模擬成火狐瀏覽器 
  3. response = requests.get("http://www.baidu.com",headers=headers)  #模擬請求url 

2.訪問地址偽裝

訪問地址指的是headers頭部中的reffer信息,那么它有什么作用呢?舉個例子解釋一下:

我在https://bj.meituan.com/里有一個https://waimai.meituan.com/鏈接,那么點擊這個https://waimai.meituan.com/,它的header信息里就有:Referer=https://bj.meituan.com/

那么可以利用這個來防止盜鏈,比如我只允許我自己的網(wǎng)站訪問我自己的圖片服務器

我們可以加入“reffer”信息偽裝訪問地址,代碼如下:

  1. import requests  
  2. headers={ 
  3.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
  4.     'reffer':'https://bj.meituan.com/'
  5. response = requests.get("https://waimai.meituan.com/",headers=headers)  #模擬請求url 

3.ip地址偽裝

對于網(wǎng)絡中的反爬蟲策略來說,大多數(shù)都是根據(jù)單個IP的行為來判斷是不是網(wǎng)絡爬蟲的,例如,反爬蟲檢測到某個IP的訪問次數(shù)很多,或者是訪問的頻率很快,就會封禁這個IP。這時我們就要選擇代理IP來突破反爬蟲的機制,更穩(wěn)定的及逆行數(shù)據(jù)的爬取。python添加代理IP的代碼如下:

  1. import requests  
  2. proxies={'https':'101.236.54.97:8866'}  
  3. headers={ 
  4.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
  5.     'reffer':'https://bj.meituan.com/'
  6. response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模擬請求url 

代理IP可以自己去網(wǎng)上找免費的,但不太穩(wěn)定,也可去花錢買一些比較穩(wěn)定的。

4.偽裝訪問速率

真實用戶的訪問次數(shù)以及訪問規(guī)律是很穩(wěn)定的,并不會多次的訪問,所以我們要偽裝成真實的用戶來爬取數(shù)據(jù),這樣反爬蟲機制就不會察覺,可以采用控制訪問頻率的方式,主要是隨機設置訪問時間,代碼如下:

  1. import requests  
  2. import time,random 
  3. proxies={'https':'101.236.54.97:8866'}  
  4. headers={ 
  5.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
  6.     'reffer':'https://bj.meituan.com/'
  7. for i in range(10): 
  8.     response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies)  #模擬請求url 
  9.     time.sleep(random.uniform(1.1,5.4)) 

5.偽裝用戶真實信息

有些網(wǎng)頁是需要登錄后才會顯示數(shù)據(jù),而cookie值會攜帶個人的登錄信息,在爬蟲中加入cookie值就能避免登錄的麻煩,例如知乎、京東等網(wǎng)站,加入方法如下:

  1. import requests  
  2. proxies={'https':'101.236.54.97:8866'}  
  3. headers={ 
  4.     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
  5.     'reffer':'https://bj.meituan.com/'
  6. cookies='' 
  7. response = requests.get("https://waimai.meituan.com/",headers=headers,proxies=proxies,,cookies=cookies)  #模擬請求url 

本文轉載自微信公眾號「python數(shù)據(jù)分析之禪 」,可以通過以下二維碼關注。轉載本文請聯(lián)系python數(shù)據(jù)分析之禪公眾號。

 

責任編輯:武曉燕 來源: python數(shù)據(jù)分析之禪
相關推薦

2020-06-07 16:16:01

Python開發(fā)工具

2020-06-10 10:30:48

Python 開發(fā)編程語言

2023-06-21 08:24:46

2018-12-21 14:54:07

2021-07-16 08:29:41

項目React必備插件

2021-02-02 13:35:48

React插件N+1

2023-02-27 22:03:06

數(shù)據(jù)庫內(nèi)存RocketMQ

2025-04-23 08:35:00

2021-11-19 16:54:11

Python代碼開發(fā)

2021-04-27 10:02:40

股票數(shù)組代碼

2013-07-17 14:13:08

產(chǎn)品產(chǎn)品失敗

2019-09-09 14:08:29

AI 數(shù)據(jù)人工智能

2016-10-21 14:35:52

Pythonwebget方法

2016-10-20 20:21:09

Python爬蟲技巧

2023-02-06 21:58:23

2020-03-09 08:00:00

技術管理套路

2020-04-28 14:50:30

短視頻運營實戰(zhàn)

2021-05-07 09:39:54

數(shù)據(jù)清洗方式

2020-06-09 10:55:16

Python編程代碼

2021-03-03 10:54:41

點贊
收藏

51CTO技術棧公眾號