python çok basit soru

'Stabil

Uzman üye
4 Eki 2015
1,702
1
8
pythonda çıktı şu şekilde. python 2 kullanıyorum
mJlqrR.png



ben siteden verileri alabiliyorum ve yazdırabiliyorum pythonda. ben bunu txt dosyasına da yazdırıyorum ama bir sorun var. yazdırırken tüm satırları değil sadece son satırı yazıyor, ben tüm satırları txt dosyasına yazdırmak istiyorum nasıl yapacağım
 
Son düzenleme:

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Kodunu yapıştır buraya.. Muhtemelen append etmek yerine üzerine yazıyorsun önceki dosyanın.
 

'Stabil

Uzman üye
4 Eki 2015
1,702
1
8
Kodunu yapıştır buraya.. Muhtemelen append etmek yerine üzerine yazıyorsun önceki dosyanın.

Kod:
#!/usr/bin/env python
# -*- coding: utf-8 -*-


import requests
from bs4 import BeautifulSoup
import lxml
import urllib2



csite = raw_input("http://www.astyazilim.org/app/Cookies/instagram")
root = csite


def scrape():
    r = requests.get(root)
    soup = BeautifulSoup(r.content, 'lxml')
    li_list = soup.find('body').find('ul').find_all('li')
    print 'Number of products: {}'.format(len(li_list))
    for li in li_list:
        a = li.find('a')
        cookie_url = root + '/' + a['href']
        print cookie_url.split()
        fh = open("outpu.txt","w") 
        lines_of_text = ("{0}".format(cookie_url))
        fh.write(lines_of_text) 
        fh.close() 

if __name__ == '__main__':
    scrape()
 

ihan3t

Kadim Üye
7 Şub 2012
5,018
23
Kod:
#!/usr/bin/env python
# -*- coding: utf-8 -*-


import requests
from bs4 import BeautifulSoup
import lxml
import urllib2



csite = raw_input("http://www.astyazilim.org/app/Cookies/instagram")
root = csite


def scrape():
    r = requests.get(root)
    soup = BeautifulSoup(r.content, 'lxml')
    li_list = soup.find('body').find('ul').find_all('li')
    print 'Number of products: {}'.format(len(li_list))
    for li in li_list:
        a = li.find('a')
        cookie_url = root + '/' + a['href']
        print cookie_url.split()
        fh = open("outpu.txt","w") 
        lines_of_text = ("{0}".format(cookie_url))
        fh.write(lines_of_text) 
        fh.close() 

if __name__ == '__main__':
    scrape()

Dosyayı w yani write mode da açıyorsun, bu da öncekilerin üzerine yazıyor.

a yani append modunda açarsan üzerine ekler.

fh = open("outpu.txt","a")
fh.write(lines_of_text + '\n')

Ayrıca döngü içerisinde habire dosya açma işlemi yapmışsın, onun yerine dosya açma işini döngünün dışında yap:

Kod:
with open("outpu.txt","w")  as fh:
 for li in li_list:
        a = li.find('a')
        cookie_url = root + '/' + a['href']
        print cookie_url.split()
        lines_of_text = ("{0}".format(cookie_url))
        fh.write(lines_of_text + '\n')
fh.close()

 
Son düzenleme:

'Stabil

Uzman üye
4 Eki 2015
1,702
1
8
Dosyayı w yani write mode da açıyorsun, bu da öncekilerin üzerine yazıyor.

a yani append modunda açarsan üzerine ekler.

fh = open("outpu.txt","a")
fh.write(lines_of_text + '\n')

Ayrıca döngü içerisinde habire dosya açma işlemi yapmışsın, onun yerine dosya açma işini döngünün dışında yap:

Kod:
with open("outpu.txt","w")  as fh:
 for li in li_list:
        a = li.find('a')
        cookie_url = root + '/' + a['href']
        print cookie_url.split()
        lines_of_text = ("{0}".format(cookie_url))
        fh.write(lines_of_text) 
fh.close()


Hocam çok teşekkür ederim kod çalıştı
 
Ü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.