爬虫引流(简单实现这个功能)

下面实现的这种方式过于简单,如果对爬虫有过了解的读者可以直接滤过这篇博客,因为确实没什么用。

实现原理

因为在你使用 request 获取网页源代码的过程中,实际上是通过向服务器发送请求来获取网页内容的。每一次请求都会被服务器记录下来,而服务器通常会根据不同的请求信息来判断访问者的身份和行为。

使用不同的代理可以模拟出不同的游客信息,这是因为代理服务器会将你的请求发往目标网站,而代理服务器本身的 IP 地址和地理位置等属性不同,从而使得目标网站无法确定请求的真正来源。这样就可以模拟出不同的游客信息,包括 IP 地址、地理位置、设备信息等,从而避免了被服务器识别出来,同时也造成了阅读量的上升。

所以只需要满足这部分内容的话就可以规避掉被认定成机器人的问题,当然有的网站在进行验证的时候往往需要使用验证码进行人机判断,那个只能使用工具,或者是扣js代码模拟这个加密过程。当然我们这里的网站比较简单,这边直接采用request的手段,只需要保证满足cookie每次情况的不同即可进行相关引流

import requests
import random
import string
import hashlib
import secrets
import time
def generate_hex_string(length):# 生成随机字节random_bytes = secrets.token_bytes(length // 2)# 将随机字节转换为十六进制字符串hex_string = random_bytes.hex()return hex_stringdef generate_random_number():# 生成一个随机的十六进制数random_number = generate_hex_string(32)return random_number
def generate_random_string():# 生成前三位字母letters = ''.join(random.choices(string.ascii_lowercase, k=3))# 生成后三位数字numbers = ''.join(random.choices(string.digits, k=3))# 拼接并返回结果return letters + numbersheaders = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,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,en-GB;q=0.7,en-US;q=0.6","Cache-Control": "max-age=0","Connection": "keep-alive","Sec-Fetch-Dest": "document","Sec-Fetch-Mode": "navigate","Sec-Fetch-Site": "none","Sec-Fetch-User": "?1","Upgrade-Insecure-Requests": "1","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0","sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Microsoft Edge\";v=\"120\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\""
}# ?spm=1001.2014.3001.5501
url = "引流文章地址"params = {"spm": "参数携带"
}with open("D:\桌面\pythoncode\Webshare 10 proxies (1).txt",'r',encoding='utf-8') as file:datalist = file.readlines()
count = 0
index = 0
erro = 0
while True:for i in datalist:cookies = {"uuid_tt_dd": "10_37471902900-1694849986886-528459","UN": "screamn","BT": "1694850004848","p_uid": "U010000","Hm_up_6bcd52f51e9b3dce32bec4a3997715ac": "%7B%22islogin%22%3A%7B%22value%22%3A%221%22%2C%22scope%22%3A1%7D%2C%22isonline%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22isvip%22%3A%7B%22value%22%3A%220%22%2C%22scope%22%3A1%7D%2C%22uid_%22%3A%7B%22value%22%3A%22screamn%22%2C%22scope%22%3A1%7D%7D","log_Id_click": "66","dc_session_id": "10_1704072680215.626007","c_pref": "default","c_ref": "default","c_first_ref": "default","c_first_page": "https%3A//blog.csdn.net/screamn/article/details/135310244%3Fspm%3D1001.2014.3001.5501","c_segment": "11","hide_login": "1","Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac": "1704072684","SESSION": "49e537ff-4030-400c-95ab-8052d7d016d9","loginbox_strategy": "%7B%22taskId%22%3A317%2C%22abCheckTime%22%3A1704072684948%2C%22version%22%3A%22ExpA%22%2C%22nickName%22%3A%22screamn%22%7D","c_dsid": "11_1704072695124.471246","c_page_id": "default","log_Id_pv": "71","creative_btn_mp": "2","Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac": "1704072696","log_Id_view": "543","dc_sid": str(generate_hex_string(32)),"dc_tos": generate_random_string()}i = i[0:len(i)-1]prox = {"http":i,"https":i}try:response = requests.get(url[index], headers=headers, cookies=cookies, params=params,proxies=prox)print(response)except:print(f"出现问题的代理{i}")erro+=1count+=1index+=1if index == 2:index = 0if erro == 1000:breaktime.sleep(5)
print(f"本次成功增加{count}次阅读量")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QGIS003:【08选择工具栏】-按范围选择、按属性选择、按位置选择

摘要:QGIS工程工具栏包括按范围选择、按属性选择、按位置选择、取消选择等选项,本文介绍各选项的基本操作。 实验数据: 链接:https://pan.baidu.com/s/15GfuR15CxA2OQzURjmjwaQ?pwd=u8sf 提取码:u8sf 一、按范围选择 有矩形框选、多边形选择、手绘选择以及按半径扩展…

【AIGC风格prompt】风格类绘画风格的提示词技巧

风格类绘画风格的提示词展示 主题:首先需要确定绘画的主题,例如动物、自然景观、人物等。 描述:根据主题提供详细的描述,包括颜色、情感、场景等。 绘画细节:描述绘画中的细节,例如表情、纹理、光影等。 场…

【C++】手撕 Vector类

目录 1,vector类框架 2,vector () 3,pinrt() 4,vector(int n, const T& value T()) 5,vector(const vector& v) 6,vector(InputIterator first, InputIterator last) 7,~vector…

Windows磁盘空间占用分析工具-WizTree

文章目录 WizTree作用WizTree树状分析图WizTree特点获取网址 WizTree作用 平时我们电脑用久了,产生很多文件,导致盘符空间不足,但是不知道那些文件占用比较多,这就需要磁盘空间分析工具-WizTree来分析文件占用情况 WizTree树状分…

计算机组成原理实训

文章目录 一、指令操作1、PC程序计数器2、目标编码3、总线规则4、算数运算5、逻辑运算6、源编码7、微变址 二、编码和微地址1、指令操作2、我的操作 问题描述 一、指令操作 1、PC程序计数器 PC装载(E/M IP 00): 当 E/M IP 设置为 00 时&…

spring-session升级之坑

项目场景: 因为某些组件低版本存在漏洞问题,本次对项目的springboot版本从1.x升级到了2.x,因为其他相关的中间件也随着一起升级,在升级最后发现项目用户信息无法获取到了。 问题描述 接口获取用户信息报错,获取用户信…

进位模拟数位拆分和最大公约数最小公倍数

一、进位模拟与数位拆分 1、AB 100以内的A B问题 题目描述: 小明只认识100以内的正整数,如果大于100的正整数,他只会拿这个数的后两位做运算。 输入 每行两个整数分别为A和B,中间以空格分开,数据有多组。 输出 输出小…

【ROS2】MOMO的鱼香ROS2(三)ROS2入门篇——ROS2第一个节点

ROS2第一个节点 引言1 认识ROS2节点1.1 节点之间的交互1.2 节点的命令行指令1.3 工作空间1.4 功能包1.4.1 功能包获取安装1.4.2 功能包相关的指令 ros2 pkg 2 ROS2构建工具—Colcon2.1 安装Colcon2.2 测试编译2.3 Colcon其他指令 3 使用RCLPY编写节点3.1 创建Python功能包3.2 编…

java初始化map的四种方式

第一种 最常见的方式(新建Map对象) public class Demo{ private static final Map<String, String> myMap new HashMap<String, String>(); static{myMap.put("a", "b"); myMap.put("c", "d"); } } 1234567第二种…

浏览器事件循环

一、浏览器的进程模型 浏览器是一个多进程多线程的应用程序&#xff0c;浏览器内部工件极其复杂&#xff0c;为了减少连环崩溃的几率&#xff0c;当启动浏览器后&#xff0c;它会自动启动多个进程&#xff0c;其中&#xff0c;有以下主要进程&#xff1a; 1.浏览器进程 浏览…

2023-12-14 LeetCode每日一题(用邮票贴满网格图)

2023-12-14每日一题 一、题目编号 2132. 用邮票贴满网格图二、题目链接 点击跳转到题目位置 三、题目描述 给你一个 m x n 的二进制矩阵 grid &#xff0c;每个格子要么为 0 &#xff08;空&#xff09;要么为 1 &#xff08;被占据&#xff09;。 给你邮票的尺寸为 stam…

git常用命令详解

git常用命令详解 Git 是一个分布式版本控制系统&#xff0c;用于追踪文件的变化并协作开发。以下是一些常用的 Git 命令及其详细说明&#xff1a; 初始化仓库&#xff1a; git init说明&#xff1a; 在当前目录下初始化一个新的 Git 仓库。 克隆仓库&#xff1a; git clone &…

快速上手:探索Spring MVC的学习秘籍!

SpringMVC概述 1&#xff0c;SpringMVC入门案例1.2 案例制作步骤1:创建Maven项目步骤2:补全目录结构步骤3:导入jar包步骤4:创建配置类步骤5:创建Controller类步骤6:使用配置类替换web.xml步骤7:配置Tomcat环境步骤8:启动运行项目步骤9:浏览器访问步骤10:修改Controller返回值解…

单片机数据发送程序

#include<reg51.h> //包含单片机寄存器的头文件 /***************************************************** 函数功能&#xff1a;向PC发送一个字节数据 ***************************************************/ void Send(unsigned char dat) { SBUFdat; whil…

【新手向】VulnHub靶场MONEYBOX:1 | 详细解析

MONEYBOX:1 安装靶机 作为一名新手&#xff0c;首先要配置好环境&#xff0c;才能进行下一步的操作。 将下载的ova文件导入VirtualBox。 VirtualBox下载地址&#xff1a;https://www.oracle.com/cn/virtualization/technologies/vm/downloads/virtualbox-downloads.html 选择…

手把手教你如何配置 AWS WAF 入门

文章目录 1 前言2 新手第一步3 实践3.1 了解托管规则3.2 编写自己的DIY规则3.3 配置实战A&#xff0c;控制泛洪攻击&#xff08;攻击请求速率&#xff09;3.4 配置实战B&#xff1a;当检查到特定路径请求的时候拒绝对方的试探 4 更进一步4.1 什么是合理的规则设计&#xff1f;如…

机器学习 | Python实现基于GRNN神经网络模型

文章目录 基本介绍模型设计参考资料基本介绍 GRNN 是 Nadaraya-Watson 估计器神经网络的改进,其中向量自变量上的标量的一般回归被计算为以核作为加权函数的局部加权平均值。 该算法的主要优点是其校准只需要为核估计定义适当的带宽。 因此,GRNN 比其他前馈人工神经网络算法更…

Leetcode每日一题:1599.经营摩天轮的最大利润

前言&#xff1a;本题是一道逻辑细节题&#xff0c;考察阅读理解并转化为代码的能力&#xff0c;很多细节 题目描述&#xff1a; 你正在经营一座摩天轮&#xff0c;该摩天轮共有 4 个座舱 &#xff0c;每个座舱 最多可以容纳 4 位游客 。你可以 逆时针 轮转座舱&#xff0c;但…

基于图神经网络的动态物化视图管理

本期 Paper Reading 主要介绍了发布于 2023 年 ICDE 的论文《Dynamic Materialized View Management using Graph Neural Network》&#xff0c;该文研究了动态物化视图管理问题&#xff0c;提出了一个基于 GNN 的模型。在真实的数据集上的实验结果表明&#xff0c;取得了更高的…