兩個取得proxy 的簡單script

兩個取得proxy 的簡單script

硬編碼的,如果網業改動就失效, 其中一個過濾不盡沒國家的行,但可用
兩個都要用 curl

這個取得 web proxy 的
复制内容到剪贴板
代码:
#! /bin/bash
#Usage: $0
proxy_url='http://www.proxyfreelist.com/'
user_agent="Mozilla/5.0"

   curl -A "$user_agent" $proxy_url |\
    gawk '{  
             if (/^<a href="http:.+/){
             gsub(/\<target=.+$/, "")
             gsub(/<a href="/, "")
             sub(/"/, "")
             print
             }
           }'
這個取得 proxy4free 最新的三頁 , 如果沒 curl , 可用 wget, 但一定要把 User-Agent 設成 Mozilla/5.0 或其他
網站設定了不許 wget 下載
复制内容到剪贴板
代码:
#! /bin/bash
# Usage: $0
i=1
printf "%-20s" Ip Port Type Country Date ; echo ""
printf "%*s\n" 90 | tr ' ' '_'
  while (( i <= 3 ))
    do
       curl -A "Mozilla/5.0" "http://www.proxy4free.com/page$i.html"
       ((i++))
       sleep 1
    done | gawk  '
                 $0 ~ /^<td>.+<\/td>$/ && $0 !~ /[Ww]hois/{
                 gsub(/<[^>]+>/, "")
                 gsub(/^Site 0?1?[0-9]?$/, "")
                 gsub(/([nN]ame|IP|Port|Type|Country|(Last Test))/, "")
                 gsub(/Sites of the ([Hh]our|[dD]ay|[[Ww]eek)/, "")
                 sub(/copyright .+2002-2007 proxy4free.com/, "")
                 if (/^$/) next  
                 if (/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) printf("\n")      
                 if (/^.+$/) {
                 printf("%-20s", $0 )
                    }
                   }' | gawk '{if (NF < 5 )next;  print $0}'
簡單但都可用,不用開瀏覽器 , 這我常用的script   ,

      
journalist
改善第二個,該沒問題了
复制内容到剪贴板
代码:
#! /bin/bash

i=1
printf "%-20s" Ip Port Type Country Date ; echo ""
printf "%*s\n" 90 | tr ' ' '_'
  while (( i <= 3 ))
    do
       curl -A "Mozilla/5.0" -s "http://www.proxy4free.com/page$i.html"
       ((i++))
       sleep 1
    done | gawk  '
                 $0 ~ /^<td>.+<\/td>$/ && $0 !~ /[Ww]hois/{
                 gsub(/<[^>]+>/, "")
                 gsub(/^Site 0?1?[0-9]?$/, "")
                 gsub(/([nN]ame|IP|Port|Type|Country|(Last Test))/, "")
                 gsub(/Sites of the ([Hh]our|[dD]ay|[Ww]eek)/, "")
                 sub(/copyright .+2002-2007 proxy4free.com/, "")
                 if (/^$/) next  
                 if (/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/) printf "\n"      
                 if (/^.+$/) {
                 printf "%-20s", $0
                    }
                   }' |gawk 'NF > 4{print $0}'
      
journalist