1. 程式人生 > >Python 批量獲取代理伺服器IP並測試

Python 批量獲取代理伺服器IP並測試

#-*-coding:utf-8 -*-
import urllib2
import BeautifulSoup
import codecs

User_Agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0'
header = {}
header['User-Agent'] = User_Agent

url = 'http://www.xicidaili.com/nn/1'
req = urllib2.Request(url,headers=header)
res = urllib2.urlopen(req).read()

soup = BeautifulSoup.BeautifulSoup(res)
ips = soup.findAll('tr'
) f = codecs.open("./proxy","w", 'utf-8') for x in range(1, len(ips)): ip = ips[x] tds = ip.findAll("td") ip_temp = tds[1].contents[0]+"\t"+tds[2].contents[0]+"\n" f.write(ip_temp) f.close() import urllib import socket socket.setdefaulttimeout(3) f = open("./proxy") fd_proxy = codecs.open("./access.txt"
, "w", 'utf-8') lines = f.readlines() proxys = [] for i in range(0, len(lines)): ip = lines[i].strip("\n").split("\t") proxy_host = "http://" + ip[0] + ":" + ip[1] proxy_temp = {"http":proxy_host} proxys.append(proxy_temp) url = "http://ip.chinaz.com/getip.aspx" for proxy in proxys: try
: res = urllib.urlopen(url,proxies=proxy).read() fd_proxy.write(proxy["http"]+"\n") print res except Exception,e: print proxy print e continue f.close() fd_proxy.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

裡面會經常更新可用的代理伺服器ip,如圖所示 
這裡寫圖片描述

在safari瀏覽器頁面右鍵彈出快捷選單,選擇顯示頁面原始檔就能看到如下介面:

這裡寫圖片描述

我們先獲得tr欄位,然後從tr欄位中選擇ip地址所在的td欄位就能把代理伺服器地址給提取出來,同樣的方法提取埠號,然後儲存為檔案proxy。

儲存下來後,不能保證每一個代理伺服器地址都是可以連線的,需要進行測試,後半部分程式碼就是把儲存在proxy檔案中的ip地址一個個拿出來,通過訪問頁面 http://ip.chinaz.com/getip.aspx 進行測試。

相關推薦

Python 批量獲取代理伺服器IP測試

#-*-coding:utf-8 -*- import urllib2 import BeautifulSoup import codecs User_Agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko

利用python爬蟲批量獲取代理IP驗證可用性

# -*- coding: utf-8 -*- from bs4 import BeautifulSoup import urllib2 import httplib import threading import sys reload(sys) sys.setdefaultencoding('utf-8'

JAVA中經過nginx反向代理獲取客戶端ip獲取相關坐標等信息

IT urn 輸出 代理 nginx 高德 AD color javascrip 關於搜狐新浪ip庫查詢接口的使用 直接輸出訪客ip及所在城市: <script src="http://pv.sohu.com/cityjson?ie=utf-8" >&l

python批量獲取某路徑資料夾及子資料夾下的指定型別檔案,按原資料夾結構批量儲存處理後的檔案

因為是把自己成功執行的整個程式碼按幾部分截取出來的,所以每一小節程式碼不一定能單獨執行,特此說明。 1.獲取某路徑資料夾及子資料夾下的指定pcm型別檔案的全部路徑 import os def eachfile(filepath):     pathdi

python爬蟲之抓取代理伺服器IP

轉載請標明出處: http://blog.csdn.net/hesong1120/article/details/78990975 本文出自:hesong的專欄 前言 使用爬蟲爬取網站的資訊常常會遇到的問題是,你的爬蟲行為被對方識別了,對方把你的IP遮蔽了,返回

python webpy 獲取訪客IP

官方 ret pos return post real span def get web.ctx.env.get(‘HTTP_X_REAL_IP‘) 官方文檔裏提到的 web.ctx.ip 不知道是不是自己沒用明白,獲取的並不是訪客IP。 class huoqu:

Python 批量修改文件名移動文件到指定目錄

工作目錄 命名 當前 tdi list 個人 編譯 路徑 backup # -*- coding: utf-8 -*- import os, sys,re,shutil from nt import chdir #讀取中文路徑 u‘‘ path=u"D:\\zhyue

獲取linux伺服器IP 獲取windows伺服器IP

if (os.toLowerCase ().startsWith ("win"))         {             //window伺服器IP       &

python優雅獲取本機 IP 方法

見過很多獲取伺服器本地IP的程式碼,個人覺得都不是很好。從網上搜索到一個靠譜的指令碼,分享一下! 通過 UDP 獲取本機 IP,目前見過最優雅的方法 這個方法是目前見過最優雅獲取本機伺服器的IP方法了。沒有任何的依賴,也沒有去猜測機器上的網路裝置資訊。 而且是利用 UDP 協議來實現的,生成一個UDP

獲取當前伺服器ip地址

獲取當前伺服器ip地址,或獲取指定主機名的ip地址 public static String getServer(){ try { //獲取本地ip地址 InetAddress address = InetAddress

shell指令碼批量獲取遠端伺服器多個專案的日誌

shell批量獲取日誌 最近日誌比較多, 而且壓縮了日誌, 並沒有上ELK. 臨時需要來獲取專案的執行日誌, 並且解壓呈現出來. ***1. 需求環境 apache/nginx 並且指定一個本地伺服器的log服務作為web服務對外的路徑. 這裡我用的本

VB實現自動取得伺服器IP連線伺服器(利用UDP廣播)

普通的講解WINSOCK控制元件等網路控制元件的用法的資料中,無論是使用TCP還是UDP,客戶端程式連線服務端程式時,無一例外的要指定IP地址(或機器名)和埠號,那麼,在埠已知而服務端程式所在機器地址或名稱未知的情況下,怎樣實現客戶端程式自動取得服務端IP並建立連線呢,筆者

Python 優雅獲取本機 IP 方法

見過很多獲取伺服器本地IP的程式碼,個人覺得都不是很好,例如以下這些不推薦:靠猜測去獲取本地IP方法#!/usr/bin/env python # -*- coding: utf-8 -*- import socket import fcntl import struct

關於Java獲取本地伺服器IP的問題

Java獲取本地伺服器IP,我們最簡單的寫法: import java.net.InetAddress; public class CatchIp{ public static void main(String[] args) { try

python urllib設定代理伺服器爬取資料

瞭解到爬蟲在爬取時,有時會受到ip一定時間內訪問數量的限制,按照網上大神的說法,應當設定通過代理伺服器訪問網頁。我還沒有爬取過那麼龐大的資料,當前沒遇到這個問題。這裡只是把方法記錄整體步驟為:1、設定代理伺服器2、爬取資料設定代理伺服器的方法為import urllib.re

Android獲取本機IP轉換為ipv4的形式

//獲取本機IP地址 private String getLocalIpAddress() throws UnknownHostException { WifiManager wifiManager = (WifiManager) getSystemService(W

Java獲取本地伺服器Ip的方法

@SuppressWarnings("rawtypes")private static String getHostIp() {Enumeration allNetInterfaces = null;try {allNetInterfaces = NetworkInterf

怎麼來爬取代理伺服器ip地址?

     一年前突然有個靈感,想搞個強大的網盤搜尋引擎,但由於大學本科學習軟體工程偏嵌入式方向,web方面的能力有點弱,不會jsp,不懂html,好久沒有玩過sql,但就是趁著年輕人的這股不妥協的勁兒,硬是把以前沒有學習的全部給學了一遍,現在感覺web原來也就那麼回事。好

python獲取linux主機ip的一種方法

python有好幾種方法可以獲取主機的ip地址。我常用的一種是通過socket.socket().inet_ntoa()來實現,非常方便;但這種方法有個限制就是要把網絡卡名(比如eth0)作為引數傳進來。所以加多了一個條件判斷,如果發現以上方法獲取ip拋異常時,那就用調起s

系統無ifconfig,一條命令獲取本機ip將其賦值給指定變數來使用

在Linux系統中,準確地獲取本機IP資訊是非常有用的。在寫bash shell指令碼事經常會用到IP,這時就需要我們使用一些辦法獲取本機IP並賦值給變數來使用。最近剛剛完成grep及sed的摸索、研究,本著學以致用的原則,用一條命令獲取本機IP並將其賦值給某個