python多线程刷网站流量(含ip代理池文档,可制作成exe文件挂服务器代刷)

python多线程刷网站流量(含ip代理池文档,可制作成exe文件挂服务器代刷)


本篇文章仅供学习,请勿滥用
(现在很多网站都有相应操作防刷流量,一不小心可能会被清空)


原理

利用python构造请求去刷流量
不同网址利用不同方法防刷流量,大部分都是:
1、看请求头是否多次访问
2、访问量每天是否大致相同,是否突然暴增等等
3、其他方式

1其实很容易解决,可以用ip代理池构造不同请求头去刷
详情可回顾文章
利用多线程爬虫搭建代理ip池的两种方法(含源码)
python构建随机ip请求头以及headers
2的话也很容易解决,刷几天不刷几天就完事了,或者降低刷取速率(利用time.sleep())
3的话很难说,毕竟现在刷流量的很多,tb购买也不能百分百保证没事,所以不能盲目滥刷


代码

这里用csdn做例子
首先你得把要刷的网站网址拿到,可以用爬虫拿(太简单就不说了,你也可以一个个复制)

构造请求

所需库

import random
import xlrd  # 引入模块
import requests
import time
import os
url = ['https://blog.csdn.net/qq_43337502/article/details/108024008',
       'https://blog.csdn.net/qq_43337502/article/details/108033669',
       'https://blog.csdn.net/qq_43337502/article/details/108048761']#这里放我之前写过的文章
def pa(page):
    count = 0
    while count<1000:#自己调要多少次
        print("ok")
        for i in url:
            response = requests.get(i,headers={'User-Agent':getheaders()},proxies={'http':getipd()})
            if response.status_code == 200:
                count = count + 1

                if count % 6:  # 每6次访问为1个循环,其中5次访问等待时间为31秒,另1次为61秒
                    time.sleep(31)  # 为每次页面访问设置等待时间是必须的,过于频繁的访问会让服务器发现刷阅读量的猥琐行为并停止累计阅读次数
                else:
                    time.sleep(61)
                print('Success ' + str(count), 'times')
    return page

请求不能过量,time.sleep()是最基本的要求,其中getheaders()和getipd()参考 python构建随机ip请求头以及headers
如果没有IP代理池,也可以构造普通的请求,这个要求不大的


多线程刷

因为我们每次请求网址都是不同headers头,可以用多线程去刷他

with ThreadPoolExecutor(max_workers=5) as t:  # 创建一个最大容纳数量为5的线程池
    task1 = t.submit(pa, (1))  #pa是函数
    task2 = t.submit(pa, (2))  # 通过submit提交执行的函数到线程池中
    task3 = t.submit(pa, (3))
    task4 = t.submit(pa, (4))
    task5 = t.submit(pa, (5))

记住一定不要开太多线程(开也没用也不会算在里面),你大量请求会被发现的


导出为exe文件(方便放在后台刷)

参考我之前的文章Python导出为exe程序(安装pyinstaller出错解决办法)


放到服务器里刷

如果我们放到服务器,他就会一天不停的刷
你可以利用命令或者远程连接去把exe文件挂到服务器后台

首先你要有服务器(学生服务器挺便宜的),Linux要比window好
利用命令的话网上大把教程我就不重复了
我这里拿window来举例子吧:
先利用vnc远程连接到电脑(参考文章:vnc远程连接
记得要先设置vnc密码以及安全组配置

进去之后你可以利用qq、qq邮件、github传文件(只有qq快其他都很慢)
把exe文件拿到,点就完事了,然后看到exe文件已经挂到服务器后台在帮你刷了
在这里插入图片描述
当然你也可以下个Ancoda配置成python环境(超简单傻瓜式安装),然后打开软件spyder(跟pycharm一样)复制代码进去开刷
在这里插入图片描述


总结

总的来说非常简单,即使你没有服务器你也可以放在本地刷
当然只是拿来学习用切记请勿盲目乱用

有不懂的欢迎私信我,如果不会搭建ip代理池也可以私信问我拿一份ip代理池文档去用
如果觉得文章对你有用请点个赞给个关注吧!

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
你可以使用Python的`threading`模块来实现多线程下载服务器文件的功能。以下是一个示例代码: ```python import requests import threading def download_file(url, save_path): response = requests.get(url) with open(save_path, 'wb') as file: file.write(response.content) def multi_thread_download(urls, save_paths): threads = [] for i in range(len(urls)): t = threading.Thread(target=download_file, args=(urls[i], save_paths[i])) threads.append(t) t.start() for t in threads: t.join() # 调用示例 urls = ['http://example.com/file1.txt', 'http://example.com/file2.txt'] save_paths = ['path/to/save/file1.txt', 'path/to/save/file2.txt'] multi_thread_download(urls, save_paths) ``` 在上述代码中,`download_file`函数用于下载单个文件,它接受一个URL和一个保存路径作为参数,使用`requests.get`方法获取文件内容,并将其写入到指定的保存路径中。 `multi_thread_download`函数用于多线程下载文件,它接受一个URL列表和一个保存路径列表作为参数。在函数内部,使用循环遍历URL列表,为每个URL创建一个线程,并启动线程进行文件下载。最后,使用`thread.join()`方法等待所有线程执行完。 你可以根据需要修改URL列表和保存路径列表,以适应你的实际需求。请确保你已经安装了`requests`模块,可以使用以下命令进行安装: ``` pip install requests ``` 另外,请注意多线程下载可能会对服务器较大的负载,请遵守相关的使用规定和法律法规。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值