Requests Yardım
-
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()
-
bu tarz bir kodlamayla ilerde çoook sorun yaşayacaksın (encode / decode)
özellikle requests.get().text of of ki ne of of
fikir versin
-
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
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
-
-
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