x

您所在的位置:网站首页 抖音错误代码61002 x

x

2024-06-19 16:58| 来源: 网络整理| 查看: 265

x-bogus:x-bogus是一种防数据包伪造的一个参数, 又称为x伪造,主要用于反爬虫,这个是某节公司下面基础服务,这个反爬虫机制几乎用在了它所有的产品中,不过,只要是能正常使用,这些东西都是透明的,x-bogus生成算法。

a-bogus:同x-bogus,x-bogus的新版本

msToken:msToken可以理解成Message Token,相当于每次消息请求的令牌,主要用于请求统计,这也是具有反爬虫的机制,如果相同msToken请求太多,也会被定义成恶意请求,这时候会出现验证码校验。所以我们在使用的时候,可以用uuid或者是雪花算法的id来模拟msToken,当然长度大于32位的唯一串最好获取方法如下:

def get_ms_token(self, randomlength=107): """ 根据传入长度产生随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789=' length = len(base_str) - 1 for _ in range(randomlength): random_str += base_str[random.randint(0, length)] return random_str

__signature:signature是签名,主要是防止数据传输的过程中,“中间人”对数据进行串改。签名一般都是公钥加密,私钥验签。参与签名的参数有url地址中的参数,还有post请求中的内容,也会参与签名。signature主要用于post或者put表单的时候进行使用,其他情况暂时未遇到。

__ac_nonce:临时加密参数,用于与_signature一起使用

ttwid:ttwid类似客户端id,即便是游客模式,也可以对页面数据进行埋点统计,通过收集ttwid下的用户行为数据,给与内容推荐和广告推荐。这个也是某节公司下的基础服务,所以生成的id,只要是某节下的服务都可以使用

​webid:同ttwid,类似客户端id,也可以说是浏览器id,不过ttwid可在cookie获取,webid可在随意一个视频请求,返回的html文本的script里再通过正则获取

def get_ttwid_webid(self, req_url): """ 获取 ttwid 和 webid :param req_url:请求的视频地址 :return: """ while True: try: headers = { "User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36', "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8" } response = requests.request("GET", req_url, headers=headers, verify=False, timeout=3) cookies_dict = response.cookies.get_dict() ttwid_str = cookies_dict.get('ttwid') render_data_text = \ re.compile('\(.*?)\').findall( response.text) if(render_data_text): render_data_text=render_data_text[0] render_data_text = requests.utils.unquote(render_data_text) render_data_json = json.loads(render_data_text, strict=False) webid = render_data_json.get('app').get('odin').get('user_unique_id') return ttwid_str, webid except Exception as e: logging.error(e) time.sleep(1)

 项目代码:https://github.com/NearHuiwen/TiktokDouyinCrawler



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3