folder Tahribat.com Forumları
linefolder Python
linefolder Requests Yardım



Requests Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bekirella
    Bekirella's avatar
    Kayıt Tarihi: 30/Temmuz/2015
    Erkek

    Arkadaşlar ilk botumu yazmaya başladım dün it-ebooks.info sitesinden verilen bir parametreye göre çıkan ebookların download linklerini kaydetmesi gerekiyordu ama nedenini anlayamadığım bir şekilde 1.sayfadaki bütün linkleri topladıktan sonra next page linkine gitmeyi denesemde yine aynı sayfada kalıyor ve 1.sayfadaki linkleri tekrar çekiyor hiç bir zamanda son sayfaya gelemediği içinde infinity loopda kalıyorum. Arkadaşlar kodum çok çirkin olabilir ilk defa uğraşıyorum daha neyin ne işe yaradığını öğrenemedim kusura bakmayın ve teşekkürler.

    http://paste.ubuntu.com/12840522/

     

    import mechanize
    import requests
    import copy
    from bs4 import BeautifulSoup
    sKitap=raw_input("Lutfen aramak istediginiz kelimeyi girin\n")
    main_url="http://it-ebooks.info"
    response=requests.get("http://it-ebooks.info/search/?q=%s&type=title"%sKitap)
    links=BeautifulSoup(response.text).findAll("a")
    links=links[1:-4]
    results=[]
    def getDownloadLink(url):
    	html=requests.get(url).text
    	start=html.find("Download:")+27
    	stop=start+html[start:].find("'")
    	results.append(html[start:stop])
    
    def travel(links):
        global results,main_url
        for e in links:
            if str(e)[9:16]!= '/search':
                start=str(e).find('"')+1
                finish=start+str(e)[start:].find('"')
                book_url=main_url+str(e)[start:finish]
                getDownloadLink(book_url)
            elif e == links[-1] and "Prev page" not in str(e):
                start=str(e).find('"')+1
                finish=start+str(e)[start:].find('"')
                nextt=main_url+str(e)[start:finish]
                response=requests.get(nextt)
                html=BeautifulSoup(response.text)
                nextlinks=html.findAll("a")
                nextlinks=nextlinks[1:-4]
                return travel(nextlinks)
            else:
                return
    
    travel(links)
    dosya=open("sonuclar.txt","w")
    dosya.write("\n".join(results))
    dosya.close()

     

    Bekirella tarafından 18/Eki/15 11:08 tarihinde düzenlenmiştir

    Bilgi bilmek için var
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    bu tarz bir kodlamayla ilerde çoook sorun yaşayacaksın (encode / decode)

    özellikle requests.get().text of of ki ne of of

    fikir versin

    http://paste.ubuntu.com/12840589/

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bekirella
    Bekirella's avatar
    Kayıt Tarihi: 30/Temmuz/2015
    Erkek
    Daft bunu yazdı

    bu tarz bir kodlamayla ilerde çoook sorun yaşayacaksın (encode / decode)

    özellikle requests.get().text of of ki ne of of

    fikir versin

    http://paste.ubuntu.com/12840589/

    Teşekkürler hocam yok farkındayım mide bulandırıcı bir kod olduğundan da neyin ne olduğunu daha tam öğrenemediğimden amele usulü string parsing yapmak durumda kaldım :D


    Bilgi bilmek için var
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    download kısmında da:

    http://paste.ubuntu.com/12840648/

    işini kolaylaştırabilir

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bekirella
    Bekirella's avatar
    Kayıt Tarihi: 30/Temmuz/2015
    Erkek

    code hala çirkin olmasına rağmen çalışır hale geldi işte son hali:

    http://paste.ubuntu.com/12840931/

    bu da örnek amacıyla "python" ibaresiyle arattığım ebookların download linkleri:

    http://paste.ubuntu.com/12840936/

     

    Daft hocam çok teşekkür ederim bu en son attığınız download için olanı kavrayamadığımdan kullanmadım ama kesinlikle inceliycem


    Bilgi bilmek için var
Toplam Hit: 1254 Toplam Mesaj: 5
python bot requests