抖音爬蟲教程,python爬蟲採集反爬策略

2021-10-12 03:12:58 字數 1865 閱讀 3420

一、爬蟲與反爬簡介

爬蟲就是我們利用某種程式代替人工批量讀取、獲取**上的資料資訊。而反爬則是跟爬蟲的對立面,是竭盡全力阻止非人為的採集**資訊,二者相生相剋,水火不容,到目前為止大部分的**都還是可以輕易的爬取資料資訊。

爬蟲想要繞過被反的策略就是盡可能的讓伺服器人你不是機器程式,所以在程式中就要把自己偽裝成瀏覽器訪問**,這可以極大程度降低被反的概率,那如何做到偽裝瀏覽器呢?

1.可以使用請求頭(headers)來掩飾自己,其中最常用的就是user agent(中文名為使用者**),是http協議中的一部分,屬於頭域的組成部分,user agent也簡稱 ua 。它是乙個特殊字串頭,是一種向訪問**提供你所使用的瀏覽器型別及版本、作業系統及版本、瀏覽器核心、等資訊的標識;表示當前訪問伺服器的身份資訊,如果同乙個身份過於頻繁的訪問伺服器會被識別為機器身份,遭到反爬的打擊,所以需要頻繁的更改user-agent資訊;一般user-agent欄位包括以下幾個資訊:瀏覽器標識 (作業系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本資訊;

2.使用不同的user-agent來規避反爬策略

比如:import random

import re, urllib.request, lxml.html

import requests

import time, random

3.使用**ip來規避反爬:同乙個ip大量請求了對方伺服器,有更大的可能性會被識別為爬蟲,ip就有可能被暫時被封。

根據**ip的匿名程度,**ip可以分為下面四類:

透明**(transparent proxy)transparent proxy):透明**雖然可以直接「隱藏」你的ip位址,但是還是可以查到你是誰。

匿名**(anonymous proxy):匿名**比透明**進步了一點:別人只能知道你用了**,無法知道你是誰。

混淆**(distorting proxies):與匿名**相同,如果使用了混淆**,別人還是能知道你在用**,但是會得到乙個假的ip位址,偽裝的更逼真

高匿**(elite proxy或high anonymity proxy):可以看出來,高匿**讓別人根本無法發現你是在用**,所以是最好的選擇。

在使用的使用,毫無疑問使用高匿**效果最好

下面我採用免費的高匿**ip進行採集:

#**ip:

import requests

proxies =

r=requests.get("", proxies=proxies)

r.raise_for_status()

r.encoding = 'utf-8-sig'

print(r.text)

注意:踩坑經歷,之前誤把proxies裡面的key設定成大寫的http/https,導致請求不走**,過了幾個月才發現這個問題,頭皮發麻啊

二、總結

之前也經常寫一些採集亞馬遜的爬蟲,但是採集沒多久就被識別出來是程式爬蟲,會預設跳到乙個robotecheck頁面,也就是叫你輸入乙個驗證碼,只是為了驗證到底是不是人為在訪問他們的**。

amazon的防爬蟲機制在只有ip (沒有cookie) 的時候防ip,在有cookie的時候,是防ip+cookie,也即對於乙個ip,乙個cookie被防了可以換乙個cookie。

有cookie的時候觸發防爬蟲robotcheck的可能性小很多,觸發的機制個人猜測是有疊加效應的,即一次使用同乙個ip+header短時間內訪問多次(1秒內訪問至少3次以上)是不會觸發robotecheck的,大概在積累了8到9次的短時間多訪問(理由是上面很多實驗都是在第9個請求後開始出現block),才會激發。而這個忍耐度在有cookie的時候會放得更寬。

所以我們在爬取某**時,最好要做到ip輪詢變換,cookie會話最好也要有,再來就是頻率不要太快太頻,只要控制好個度,我相信被反爬的概率會大大降低。

python抖音加密引數 抖音爬蟲API加密引數

使用nodejs在做抖音資料的抓取,發現對應的api位址 現了乙個signature,見樣例 這個signature的加密函式找到了,但是有加密和混淆,有哪位清楚原理的可以提供下思路 m.define douyin falcon node modules byted acrawler dist ru...

Python爬蟲 抖音排行榜

最近公司準備搞個抖音號,叫我們爬一下抖音的排行榜,記錄一下 鏈結在這裡 選擇二次元榜單,開啟network,很快就可以找到資料存放的位置 簡單分析一下可知,不同榜單的url區別主要在於 billboard type 這個引數,這裡需要乙個乙個確定一下,二次元的幾個榜單的話是從61到68 還有得到的資...

python爬蟲實戰 抖音

申明 警告 請在相關 的許可範圍內爬取資料.以免影響 正常執行,如果我的文章有觸犯權益的地方,請告知刪除.所以 我們如果能知道手機發出去的請求是什麼,就像前面文章中 找url 一樣.只要知道url和呼叫方式,剩下的就是寫 了.fiddler是乙個 就像我們要訪問google必須配置 翻牆一樣.手機配...