Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[YENİ] Proxy Tarama Modülü
#31
"Kimse tarafından bulunamamış" diye bir şey yok, belliki yanlış kopyalama yapıyosun çünkü çoğu kişi de hata olmamış. Artı python 3'te hata alman doğal çünkü bu python 2 için yapıldı. Ayrıca bu bir modül, tam olarak nasıl çalıştırmayı denedin nasıl kullandın, bunları ayrıntılı olarak yazmadığın için de kimse nasıl cevap vereceğini bilememiş olabilir. Yoksa syntax hatası kimse tarafından bulunamayan bir hata asla olamaz.
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#32
bulunamayan hata derken önceden yazdıgımı kastetmiştim ki bu hatayı alanlarda varmış ve sen o kişiye "Hmm bu maalesef socket hatası başka kodlarda da karşına çıkar. Qpython veri temizle veya baştan kur, olmadi güncelle vs. Bu hatanın tam çözümünü anlayamadık çünkü." diye bir cevap vermişsin bunu gördugum için öyle dedim ve önce internette araştırmıştım zaten bu hatayı bulamayınca buraya sordum yoksa benım derdim syntax hatası değil sadece başka denediğim yolları söyledim
Ara
Cevapla
#33
Merhaba arkadaşlar linux ortamında proxy tarama için kod buldum fakat istediğim gibi değil proxylist.txt dosyasındaki proxy sayısını ekrana yazılmasını ve o anda kaçtane taradığını göstermesini,çalışan proxyleride validproxy.txt olarak kaydetmesini istiyorum

Kodları aldığım yer:http://stackoverflow.com/questions/10860983/python-proxy-list-check
Burada istekte bulunan arkadaş başına x ve sıfır eklenmesini istemiş sanırım çalışanlar 0 çalışmayan proxyler ise x fakat ben bunların eklenmesini istemiyorum çalışan proxyleri olduğu gibi validproxy.txt dosyasına kaydetsin yeterli benim için.

Yardımcı olursanız sevinirim iyi çalışmalar iyi forumlar.

Kod:
#!/usr/bin/env python
import Queue
import threading
import urllib2
import time

input_file = 'proxylist.txt'
threads = 10

queue = Queue.Queue()
output = []

class ThreadUrl(threading.Thread):
    """Threaded Url Grab"""
    def __init__(self, queue):
        threading.Thread.__init__(self)
        self.queue = queue

    def run(self):
        while True:
            #grabs host from queue
            proxy_info = self.queue.get()

            try:
                proxy_handler = urllib2.ProxyHandler({'http':proxy_info})
                opener = urllib2.build_opener(proxy_handler)
                opener.addheaders = [('User-agent','Mozilla/5.0')]
                urllib2.install_opener(opener)
                req = urllib2.Request("http://www.google.com")
                sock=urllib2.urlopen(req, timeout= 7)
                rs = sock.read(1000)
                if '<title>Google</title>' in rs:
                    output.append(('0',proxy_info))
                else:
                    raise "Not Google"
            except:
                output.append(('x',proxy_info))
            #signals to queue job is done
            self.queue.task_done()

start = time.time()
def main():

    #spawn a pool of threads, and pass them queue instance
    for i in range(5):
        t = ThreadUrl(queue)
        t.setDaemon(True)
        t.start()
    hosts = [host.strip() for host in open(input_file).readlines()]
    #populate queue with data   
    for host in hosts:
        queue.put(host)

    #wait on the queue until everything has been processed     
    queue.join()

main()
for proxy,host in output:
    print proxy,host

print "Elapsed Time: %s" % (time.time() - start)
Ara
Cevapla
#34
Şimdi ilk olarak söylemeliyim ki biz bu forumda bir çok proxy tarama kodu yaptık ve hepsi de linux ortamında çalışır, eğer engel teşkil eden modüller varsa ufak bir dokunuşla çalışır hale getiririz. Senin bence yapman gereken şey, bu konuya değil de sohbet veya python dili soru cevap gibi konulara bu öneriyi sunman olmalıydı. Çünkü bu konuda zaten proxy tarama kodu mevcut, en azından burdakini incelemeni ve burdakinin istediğin gibi yapılmasını istemeni tercih ederdim. Sadece kod değil, forumu gezersen uygulamalarını da yapmış olduğumuzu görürdün (exe, apk)

Neyse ikinci olarak da şunu söylemeliyim, verdiğin kod benim nazarımda çok gereksiz işlemlerle dolu, çok basit bir işlem için fazladan ayrıntya girilmiş. Ama ben her şeye rağmen yine de istediğin gibi kodu düzenledim, umarım bu konu ile ilgili foruma da (en azından konu başındaki modüle de) göz atarsın

PHP Kod:
#!/usr/bin/env python
import Queue
import threading
import urllib2
import time

input_file 
'proxylist.txt'
threads 10

print len(open(input_file).readlines()), "adet proxy taranacak\n"
time.sleep(1)

queue Queue.Queue()
output = []

class 
ThreadUrl(threading.Thread):
    
"""Threaded Url Grab"""
    
def __init__(selfqueue):
        
threading.Thread.__init__(self)
        
self.queue queue

    def run
(self):
        while 
True:
            
#grabs host from queue
            
proxy_info self.queue.get()

            try:
                
proxy_handler urllib2.ProxyHandler({'http':proxy_info})
                
opener urllib2.build_opener(proxy_handler)
                
opener.addheaders = [('User-agent','Mozilla/5.0')]
                
urllib2.install_opener(opener)
                
req urllib2.Request("http://www.google.com")
                
sock=urllib2.urlopen(reqtimeout7)
                
rs sock.read(1000)
                if 
'<title>Google</title>' in rs:
                    
output.append(('0',proxy_info))
                    print 
"CALISIYOR ==>"proxy_info
                    with open
("validproxy.txt""ab") as f:
                        
f.write(proxy_info+"\n")
                else:
                    
raise "Not Google"
            
except:
                
output.append(('x',proxy_info))
                print 
"calismiyor"proxy_info
            
#signals to queue job is done
            
self.queue.task_done()

start time.time()
def main():

 
   #spawn a pool of threads, and pass them queue instance 
 
   for i in range(5):
 
       t ThreadUrl(queue)
 
       t.setDaemon(True)
 
       t.start()
 
   hosts = [host.strip() for host in open(input_file).readlines()]
 
   #populate queue with data   
 
   for host in hosts:
 
       queue.put(host)

 
   #wait on the queue until everything has been processed     
 
   queue.join()

main()
#for proxy,host in output:
#    print proxy,host

print "Elapsed Time: %s" % (time.time() - start

@Selcuk
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#35
gecemor teşekkür ederim ilginiz için ve yardımınız için.
Gece kayıt oldum forumunuza gerçekten öğretici konulara denk geldim.
Dün geceden beri forumda bir çok konu okudum python ile ilgili faydalı bilgiler paylaşılmış fakat python diline yeni giriş yaptım bu konuda pek bir bilgim yok forumunuzdan faydalanıp öğreneceğimi umuyorum.
Ara
Cevapla
#36
Hoş geldin o zaman, evet kendimizce ve aklımıza geldikçe bir şeyler yapmaya çalıştık, sana da elimizden geldiği kadar python konusunda yardımcı olacağımızdan şüphen olmasın. İyi forumlar...
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#37
gecemor İlk mesaşınızda belirttiğiniz şu desene göre (\d+\.\d+\.\d+\.\d+).*?(\d{2,5}) proxy toplanacak site listesinden proxy toplamak mümkünmüdür?

Misal  pek yapamadım ama  Smile

Kod:
import threading
import urllib2
import time
import re

[size=small][font=Monaco, Consolas, Courier, monospace][/font][/size][size=small][font=Monaco, Consolas, Courier, monospace]input_file[/font][/size][size=small][font=Monaco, Consolas, Courier, monospace][/font][/size] = 'proxyUrllist.txt'
ValidIPRegex = '(\d+\.\d+\.\d+\.\d+).*?(\d{2,5})'
maxthreads = 50
print len(open(input_file).readlines()), "adet Url taranacak\n"
time.sleep(1)

with open("BulunanProxyler.txt", "ab") as f:
                        f.write(proxy_info+"\n")
Ara
Cevapla
#38
tabiki de mümkündür, en temel seviyede yaptığımız işlem şu şekilde olacak. Ama belirtmeliyim ki bazı siteler kanak okumaya karşı kendince önlem almış olabilirler veya proxylerin portlarını ayrı bir şekilde listelemiş olabilirler. Kısacası her sitede bu kadar basit bir okuma işlemini kullanamayabilirsin, tabi bunun çözümleri de bulunur ama ilk olarak temelde ne yapıldığını bilmen iyi olacaktır.

PHP Kod:
import urllib2
import re

ValidIPRegex 
'(\d+\.\d+\.\d+\.\d+).*?(\d{2,5})'

site "http://site-yaz.com"

site_kaynagi urllib2.urlopen(site).read()

proxy_bul re.findall(ValidIPRegexsite_kaynagi)

print 
proxy_bul 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#39
gecemor Ozaman şu şekilde doğrumudur?

Örnek site proxyUrllist.txt alt alta sıralanmış

https://hidemy.name/en/proxy-list
http://www.freeproxylists.net

Kod:
import urllib2
import re

input_file = 'proxyUrllist.txt'

ValidIPRegex = '(\d+\.\d+\.\d+\.\d+).*?(\d{2,5})'

site = print len(open(input_file).readlines()), "adet proxy taranacak\n"

site_kaynagi = urllib2.urlopen(site).read()

proxy_bul = re.findall(ValidIPRegex, site_kaynagi)

for i in proxy_bul:
    proxy=i[0]+":"+i[1]
    dosya=open("BulunanProxyler.txt","ab")
    dosya.write(proxy+"\n")
    dosya.close()
    print proxy_bul
Ara
Cevapla
#40
şimdi python'da bir takım söz dizilimlerine dikkat etmen gerek, mesela bir değişken tanımladığında o tanımlama içinde print kullanamazsın. Ayrıca kodda siteler için ayrı işlem yapmamışsın, kısaca çok eksiğin var temel konularda. Ben yapmak istediğini şu şekilde düzenledim

PHP Kod:
import urllib2
import re

input_file 
'proxyUrllist.txt'

ValidIPRegex '(\d+\.\d+\.\d+\.\d+).*?(\d{2,5})'

siteler open(input_file).readlines()

for 
site in siteler:
    try :
        
site_kaynagi urllib2.urlopen(site).read()
        
proxy_bul re.findall(ValidIPRegexsite_kaynagi)
        
        for 
i in proxy_bul:
        
            
proxy=i[0]+":"+i[1]
            print 
proxy
            dosya
=open("BulunanProxyler.txt","ab")
            
dosya.write(proxy+"\n")
            
dosya.close()
            
    
except Exception as hata:
        print 
site"adresinde hata olustu:\n"hata 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  GÜNCEL Proxy Tarama normal Net gecemor 143 135,361 13-09-2022, Saat: 00:50
Son Yorum: perry
  python proxy , requests sorunu $cr!pt HUB 3 1,645 23-04-2022, Saat: 19:18
Son Yorum: gecemor
  GÜNCEL PROXY RANGE TARAMA (İSTEK) Bahadır Bera Üzer 1 1,487 26-04-2020, Saat: 21:24
Son Yorum: oktay811
  YENİ Proxy Tarama ve Hızlarını Test Etme gecemor 96 80,202 25-05-2018, Saat: 19:17
Son Yorum: gecemor
  YENİ Android 7 nougat için qpython3 proxy Tarama ve oto config 55lim 37 41,464 06-04-2017, Saat: 17:51
Son Yorum: metemli333

Hızlı Menü:


Konuyu Okuyanlar:
Change Theme