最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

超簡單的scrapy實現ip動態(tài)代理與更換ip的方法實現

 更新時間:2021年03月21日 16:45:25   作者:我不是禿頭哆唻咪  
這篇文章主要介紹了超簡單的scrapy實現ip動態(tài)代理與更換ip的方法實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

簡單實現ip代理,為了不賣廣告,
請自行準備一個ip代理的平臺
例如我用的這個平臺,每次提取10個ip

在這里插入圖片描述

從上面可以看到數據格式是文本,換行是\r\n,訪問鏈接之后大概就是長這樣的,scrapy里面的ip需要加上前綴http://
例如:http://117.95.41.21:34854

在這里插入圖片描述

OK,那現在已經準備好了ip了,先給你們屢一下思路。

ip池和計數器放在setting文件

第一次請求的時候要填滿ip池,所以在爬蟲文件的start_requests函數下手

更換ip的地方是middlewares的下載器中間件類的process_request函數,因為每個請求發(fā)起前都會經過這個函數

首先是setting文件,其實就是加兩句代碼

count = {'count': 0}
ipPool = []

還有就是開啟下載器中間件,注意是下面那個download的類,中間件的process_request函數的時候才能生效

在這里插入圖片描述

下載器中間件的process_request函數,進行ip代理和固定次數更還ip代理池

	# 記得導包
	from 你的項目.settings import ipPool, count
	import random
	import requests
	
  def process_request(self, request, spider):
    # 隨機選中一個ip
    ip = random.choice(ipPool)
    print('當前ip', ip, '-----', count['count'])
    # 更換request的ip----------這句是重點
    request.meta['proxy'] = ip
    # 如果循環(huán)大于某個值,就清理ip池,更換ip的內容
    if count['count'] > 50:
      print('-------------切換ip------------------')
      count['count'] = 0
      ipPool.clear()
      ips = requests.get('你的ip獲取的地址')
      for ip in ips.text.split('\r\n'):
        ipPool.append('http://' + ip)
    # 每次訪問,計數器+1
    count['count'] += 1
    return None

最后就是爬蟲文件的start_requests函數,就是第一次發(fā)請求前要先填滿ip池的ip

	# 記得導包
	from 你的項目.settings import ipPool
	import random
	import requests
	
  def start_requests(self):
    # 第一次請求發(fā)起前先填充一下ip池
    ips = requests.get('你的ip獲取的地址')
    for ip in ips.text.split('\r\n'):
      ipPool.append('http://' + ip)

簡單的ip代理以及固定次數就更換ip池就完成了

到此這篇關于超簡單的scrapy實現ip動態(tài)代理與更換ip的方法實現的文章就介紹到這了,更多相關scrapy ip動態(tài)代理與更換ip內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 分享十個Python提高工作效率的自動化腳本

    分享十個Python提高工作效率的自動化腳本

    在這個自動化時代,我們有很多重復無聊的工作要做。 想想這些你不再需要一次又一次地做的無聊的事情,讓它自動化,讓你的生活更輕松。本文分享了10個Python自動化腳本,希望對大家有所幫助
    2022-10-10
  • Python編程基礎之函數和模塊

    Python編程基礎之函數和模塊

    這篇文章主要為大家介紹了Python函數和模塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 使用Python設置Excel單元格數字的顯示格式

    使用Python設置Excel單元格數字的顯示格式

    Python語言可以幫助我們靈活設置Excel單元格的數字格式,保證數據的一致性與專業(yè)標準,本文將介紹如何使用Python對Excel工作表中單元格的數字格式進行設置,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • Python寫一個簡單的api接口的實現

    Python寫一個簡單的api接口的實現

    本文主要介紹了Python寫一個簡單的api接口的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • python是先運行metaclass還是先有類屬性解析

    python是先運行metaclass還是先有類屬性解析

    這篇文章主要為大家介紹了python是先運行metaclass還是先有類屬性的問題原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • 使用python分析git log日志示例

    使用python分析git log日志示例

    這篇文章主要介紹了使用python分析git log日志示例,需要的朋友可以參考下
    2014-02-02
  • python paramiko遠程服務器終端操作過程解析

    python paramiko遠程服務器終端操作過程解析

    這篇文章主要介紹了python paramiko遠程服務器終端操作過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 一篇文章搞懂Python反斜杠的相關問題

    一篇文章搞懂Python反斜杠的相關問題

    這篇文章主要給大家介紹了如何通過一篇文章搞懂Python反斜杠的相關問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • python查找特定名稱文件并按序號、文件名分行打印輸出的方法

    python查找特定名稱文件并按序號、文件名分行打印輸出的方法

    這篇文章主要介紹了python查找特定名稱文件并按序號、文件名分行打印輸出的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python實現代理服務功能實例

    python實現代理服務功能實例

    本文分析了代理服務的原理,并使用PYTHON實現了一個簡單的代理服務功能供大家參考使用
    2013-11-11

最新評論

正定县| 阿巴嘎旗| 安西县| 彭阳县| 方正县| 璧山县| 文登市| 和政县| 息烽县| 嘉禾县| 泸溪县| 建瓯市| 望谟县| 大荔县| 扶绥县| 宜阳县| 黄大仙区| 新闻| 铁岭县| 铁岭市| 晋城| 乡城县| 凤山县| 文登市| 灵川县| 榆中县| 延寿县| 县级市| 万山特区| 南陵县| 枣庄市| 阿克| 宜兰市| 龙南县| 友谊县| 墨脱县| 滦平县| 新闻| 平凉市| 阿图什市| 泗洪县|