<pre id="jbbnp"><rp id="jbbnp"></rp></pre>

    [代理百科]免費ip代理池的創建教程

    發布時間:2020-07-02 關注熱度:°C

      現在網絡爬蟲非常普及,導致很多網站對于爬蟲的防御越來越嚴格。如果不用ip代理,一些數據大一些的根本無法爬下來。自從有了一個ip代理池之后,反爬破解就變得簡單了,下面IP海介紹一個免費的ip代理建造教程給大家。

    免費ip代理池的創建教程

      1、獲取代理的json信息

     

      2、分析

     

      很明顯每一行是一個json數據,但整個頁面你拿到的也不過是字符串而已,每一行末都換行,也就是說每一行末都有" ",那么思路很清晰,用requests獲得整個頁面的text(字符串),然后用split(' ') 將每一行分割之后組成的列表,便利這個列表用json.loads()方法,將每一行的字符串轉換為json對象,最后取值。

     

      3、代碼部分

     

      #!/usr/bin/env python3

     

      # coding:utf-8

     

      #lanxing

     

      import json

     

      import telnetlib

     

      import requests

     

      import random

     

      proxy_url = 'https://raw.githubusercontent.com/fate0/proxylist/master/proxy.list'

     

      # proxyList = []

     

      #定義函數,驗證ip代理是否有效

     

      def verify(ip,port,type):

     

      proxies = {}

     

      try:

     

      telnet = telnetlib.Telnet(ip,port=port,timeout=3) #用這個ip請訪問,3s自動斷開,返回tiemout

     

      except:

     

      print('unconnected')

     

      else:

     

      #print('connected successfully')

     

      # proxyList.append((ip + ':' + str(port),type))

     

      proxies['type'] = type

     

      proxies['host'] = ip

     

      proxies['port'] = port

     

      proxiesJson = json.dumps(proxies)

     

      #保存到本地的proxies_ip.json文件

     

      with open('proxies_ip.json','a+') as f:

     

      f.write(proxiesJson + ' ')

     

      print("已寫入:%s" % proxies)

     

      #定義函數,帶著url地址去獲取數據

     

      def getProxy(proxy_url):

     

      response = requests.get(proxy_url)

     

      #print(type(response))

     

      # 用split(' ') 將每一行分割之后組成的列表,消除換行影響

     

      proxies_list = response.text.split(' ')

     

      for proxy_str in proxies_list:

     

      # 用json.loads()方法,將每一行的字符串轉換為json對象,最后取值

     

      proxy_json = json.loads(proxy_str)

     

      host = proxy_json['host']

     

      port = proxy_json['port']

     

      type = proxy_json['type']

     

      verify(host,port,type)

     

      #主函數,入口

     

      if __name__ == '__main__':

     

      getProxy(proxy_url)

     

      關于ip代理池的構建,網絡上面大家也可以找到很多相關教程,如果大家想要簡單一些,可以直接向靠譜的代理服務商購買ip代理來使用,這樣IP的質量更加高,也更加安全。

     

    版權聲明:本文為IP海(iphai.cn)原創作品,未經許可,禁止轉載!

    Copyright © 2020-2022 www.meshmotors.com. All Rights Reserved. IP海 版權所有.
    IP海僅提供中國內IP加速服務,無法跨境聯網,用戶使用IP海從事的任何行為均不代本公司的意志和觀點,產生的相關責任用戶自負。
    ICP備案鄂ICP備19030659號-3 公安備案鄂公網安備42100302000141號 計算機軟件著作權證計算機軟件著作權證 ICP/EDI許可證ICP/EDI許可證:鄂B2-20200106

    微信掃一掃咨詢
    八戒八戒在线www日本