当前位置: 首页 > 编程笔记 >

python requests更换代理适用于IP频率限制的方法

何兴安
2023-03-14
本文向大家介绍python requests更换代理适用于IP频率限制的方法,包括了python requests更换代理适用于IP频率限制的方法的使用技巧和注意事项,需要的朋友参考一下

有些网址具有IP限制,比如同一个IP一天只能点赞一次。

解决方法就是更换代理IP。

从哪里获得成千上万的IP呢? 百度“http代理” 可获得一大堆网站。

比如某代理网站,1天6元,可以无限提取。

把提取的IP,保存到txt文件中。

写一个方法,读取文件,存入数组中

def getProxysFromFile():
 with open("proxy.txt", "r") as f:
  l = f.readlines()
 return l

比如执行某任务,传入单个代理IP+PORT

def run(proxy):
 
 try:
  print("proxy:{}".format(proxy))
  s=requests.Session()
  proxies={
  "http": "http://{}".format(proxy.strip()), "https":"https://{}".format(proxy.strip())
  }
  header={
   "Host":"www.xxx.com",
   "Referer":"http://www.xxx.com/xxx.html?199",
   "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36"
 
  }
  ret=s.get(url="http://www.xxx.com/data/dz?uid=199&ztype=1",headers=header,proxies=proxies,timeout=4)
  rc=ret.content.decode("utf-8")
  print(rc)
  if "成功" in rc:
   global count
   count+=1
   print(count)
 except:
  pass

接下来就是调度,简单写了个调度,比如每隔5秒钟,启动100个线程去执行。(这里为了简单,在上面的run中设置了超时时间为4秒,所以能保证不会导致启动的线程太多未完成卡死)

if __name__ == '__main__':
 count=1
 l=getProxysFromFile()
 while True:
  for i in range(100):
   try:
    t=threading.Thread(target=run,args=(l.pop(),))
    t.start()
   except:
    pass
  time.sleep(5)

效果如下,速度还是很快的。

以上这篇python requests更换代理适用于IP频率限制的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍C# 站点IP访问频率限制 针对单个站点的实现方法,包括了C# 站点IP访问频率限制 针对单个站点的实现方法的使用技巧和注意事项,需要的朋友参考一下  站点IP访问频率限制 针对单个站点 以上这篇C# 站点IP访问频率限制 针对单个站点的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Django REST Framework之频率限制的使用,包括了Django REST Framework之频率限制的使用的使用技巧和注意事项,需要的朋友参考一下 开放平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用 使用 自定义频率限制组件:utils/thottle.py views.py allow_request() 方法内定义频率控制的实现 wai

  • 我正试图从ip摄像机捕捉视频,并保存为avi视频文件。同时脚本将包含人脸的帧保存为jpeg文件。当脚本执行这些任务时,cpu使用率约为100%。正因为如此,我只想限制人脸检测的帧率。

  • 问题内容: 这个问题似乎已经以多种不同的方式被问到了,所以如果我只是想在这里漏掉一些明显的东西,请事先道歉,但是我仍然不清楚。 我正在使用Appium作为功能测试套件的一部分运行UIAutomation测试,如何从该套件生成代码覆盖率指标?理想情况下,作为CI流程的一部分,能够在Jenkins中可视化这些结果。 我在这里看到一个人有解决方案,我尝试实现此解决方案,但该应用程序在关机时不会生成覆盖报

  • 问题内容: 我一直在尝试通过以下代码调整音频片段的音调: http://developer.android.com/guide/topics/media/audio- capture.html 我的猜测是应该使用进行此调整。 http://developer.android.com/reference/android/media/MediaRecorder.html 但是,我不确定调用哪种方法来改

  • 我的特定用例是,我想使用redis速率限制器在spring cloud gateway实现速率限制,例如,对于特定路由,每分钟4个请求。 但它并没有像预期的那样工作,一旦一个请求完成,它就会自动填充存储桶。使用了spring cloud论坛提供的相同实现,但无法限制我对特定时间窗口的请求: 通过将RequiredRate设置为所需的请求数、requestedTokens设置为以秒为单位的时间跨度、

  • 尝试使用Istio EnvoyFilter实现速率限制。服务级别速率限制工作正常。但未能为我的服务的任何子路径配置速率限制。例如,“/productpage”和“/api/v1/products”仍然共享服务级别速率限制。 下面是Istio EnvoyFilter配置与Istio演示项目Bookinfo,如果配置有任何问题,请让我知道。 通过以下移动速率限制行动解决:

  • 我正试图将mkv文件(见下面的属性)发送到Kinesis视频流。我想有10-15帧每秒的FPS。