Python Script Çalışmıyor

tokikolik

Uzman üye
16 Mar 2017
1,419
4
İstanbul
Kod:
# -*- coding: UTF-8 -*- 
import sys
import requests
import datetime

username_list = raw_input("Enter username list folder : ")
username_listc = open(username_list, 'rb')## rb sayesinde satır satır okunacak harf harf degil.


def instascan():
    try:
        for i in username_listc:
            insta_url = "https://www.instagram.com/"
            insta_user = insta_url + i + "/"
            print insta_user

            r = requests.get(insta_user)

            if r.status_code == 200:
                print "Nick has been found"
                print insta_user
                with open("founded.txt", "w") as dosya:
                        dosya.write(insta_user+"\n")
            else:
                print "nick couldn't found"

    except:
        sys.exit()
instascan()


Program açılıyor ama listedeki kullanıcı adları url sonuna eklenince tam eklenmiyor sanırım. Profil urlsi oluşmuyor anladığım kadarıyla.

o yüzden 200 döndürmüyor hiç.
 

Anonim6

Yeni üye
29 Şub 2012
0
5
Kod:
username_listc = open(username_list, 'r')
[...]
insta_user = insta_url + i.strip() + "/"

olarak düzeltsen kafi. iterasyon değişkeni whitespace barındırdığından ötürü sıkıntı.
 

Anonim6

Yeni üye
29 Şub 2012
0
5
meali nedir hocam bunun
düzeltilmiş kodu pasladım, o satırları benimkilerle değiştirseniz yeterli. eğer ki kastınız hata açıklaması ise, belirttiğim üzere for line in open([...]) yazmanız durumunda line değişkeni yeni satır karakterini (\n=0xa) de kapsamakta. peki bu davranışın sebebi nedir? minik bir analiz sonucu bunun da cevabını bulabiliriz. open([...]) fonksiyonu aslen _io.open (Modules/_io/_iomodule.c:228) zımbırtısına denktir ve ilgili fonksiyonun dönüt değeri (PyObject *)&PyTextIOWrapper_Type formundadır. nesnenin takdir edebileceğiniz üzere iteratif bir elemana ihtiyacı var, (iternextfunc)textiowrapper_iternext olarak tanılı iterasyon fonksiyonu da her satırı _textiowrapper_readline([...]) vasıtasıyla işler. eh, veriyi satır satır alabilmesi adına her satırın başlangıç ve bitiş pozisyonlarına ihtiyacı var; bi' de o satırın _PyIO_find_line_ending([...]) ile elde edeceği uzunluğuna.

pratik bir sebepten olacak, python derleyicisi işlediği satırı ardındaki yeni satır karakteriyle, endpos = _PyIO_find_line_ending([...]) konumuyla beraber alır; hatta belirtilmesi durumunda birtakım standartlar ışığında dönüşümünü de yapar. böyle böyle, python derleyicisinin Modules/_io/textio.c:2248 satırına müdahale edilmesi durumunda PyObject *s = PyUnicode_Substring(line, start, endpos) yerine PyObject *s = PyUnicode_Substring(line, start, endpos-1) yazılarak esasında istenilen sonuç yaratılabilir, satır ardından yeni satır karakteri getirmez. ancak bu patch beraberinde birtakım sorunlar da doğurmakta, zira yamalı versiyonun kurulumu esnasında bu modül, örneğin POSIX çevre değişkenlerinin tanılanması esnasında çağrılmakta ve re.compile("[...]\n").match(fp.readline()) misali düzenli ifadelerinde değişkenin sonunda yeni satır karakteri beklemekte.

o sebepten _io.TextIOWrapper tipi üstüne iterasyonda bulunurken değişkenin whitespace karakter ile sonlanacağını kabullenmekte fayda var. haliyle değişkenin evvelinde line.strip() biçiminde bi' kırpılması şart. ha diyorsanız yok mudur başka yolu, elbette var; iteratif bir kullanım üstüne ısrarcıysanızdır diye şeettim.

her ne ise, kolay gelsin. detaylı meali budur.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.