利用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))
记住一定不要开太多线程(开也没用也不会算在里面),你大量请求会被发现的
参考我之前的文章Python导出为exe程序(安装pyinstaller出错解决办法)
如果我们放到服务器,他就会一天不停的刷
你可以利用命令或者远程连接去把exe文件挂到服务器后台刷
首先你要有服务器(学生服务器挺便宜的),Linux要比window好
利用命令的话网上大把教程我就不重复了
我这里拿window来举例子吧:
先利用vnc远程连接到电脑(参考文章:vnc远程连接)
记得要先设置vnc密码以及安全组配置
进去之后你可以利用qq、qq邮件、github传文件(只有qq快其他都很慢)
把exe文件拿到,点就完事了,然后看到exe文件已经挂到服务器后台在帮你刷了
当然你也可以下个Ancoda配置成python环境(超简单傻瓜式安装),然后打开软件spyder(跟pycharm一样)复制代码进去开刷
总的来说非常简单,即使你没有服务器你也可以放在本地刷
当然只是拿来学习用切记请勿盲目乱用
有不懂的欢迎私信我,如果不会搭建ip代理池也可以私信问我拿一份ip代理池文档去用
如果觉得文章对你有用请点个赞给个关注吧!