Python İle İlgili Bir Soru ?
-
selam hocalar,
python ile bi web scraping işim var fakat şimdi şöyle ki chrome üzerinden arka planda bir çalışma prensibi yaratmaya çalıştığımda bu chrome driver'ın bilgisayarda kurulu olan google chrome ile uyuşması gerekiyor öteki türlü kaputa bağlıyo, zamanında bu problem yüzünden işi almamıştım fakat yeniden önüme gelince burada ki üstadlara da bir sorayım dedim .. bu işi en pratik nasıl çözebiliriz , ya da daha kullanışlı bir yöntem var mı? (arkadaşla aws üzerinden cloud ta calısacak sekilde yapalım dedik ama ücret vs girdi işin içine bulaşmadık ta, varmı baska pratik yöntem ?)
işin özeti şu; website üzerinden güncel veriyi çektiricem arka planda bunu da düzenli olarak bı excel veyahut notepad'e tutturucam ama bu driver mevzusu baya bunalttı
-
hocam selenium a muhtaç mısınız ??
requests yapsanız ??
-
https://chromedriver.chromium.org/downloads
buradan uygun olanı kullan olmamı?
aşağıdakini kullanmadım ama benzer birşey aratabilirsin "python auto downlaod chromedriver" vb
https://pypi.org/project/chromedriver-autoinstaller/
-
TheAvenqer bunu yazdı
hocam selenium a muhtaç mısınız ??
requests yapsanız ??
en makul kütüphaneler beautiful soup ile bu gözüküyordu, o yüzden hep bunun üzerinden aksiyon almaya calıştık açıkçası, request ile de olabilir illaki ama hazır kütüphane üzerinden veri cekmek daha stabil olur diye bu yolu izliyordum
@wert: chrome driver ı zaten aktif tutuyorumda, tool'u tamamlayıp calışır hale getirdikten sonra adama teslim ettiğimde chrome sürümü ile chrome driver'ı uyuşmamazlığı riski mevcuttu hocam. diğer bilgi için eyvallah ((;
-
chrome ı siktiret (çok ram yiyor)
https://hub.docker.com/r/selenium/standalone-firefox/
docker kurup şu imajla işini halledebilirsin. arkada çalışır. seni rahatsız etmez. boştayken 5mb falan bi ram harcıyordu hatırladığım kadarıyla, geri kalanı senin siten ne kadar ram yiyosa işte. bide resimleri falan filan kapatırsın ram yemesin istiyosan.
ama benim önerim seleniumdan önce network tabından gelen gidene bakıp istekleri simüle etmen
-
yolbulucu bunu yazdı
chrome ı siktiret (çok ram yiyor)
https://hub.docker.com/r/selenium/standalone-firefox/
docker kurup şu imajla işini halledebilirsin. arkada çalışır. seni rahatsız etmez. boştayken 5mb falan bi ram harcıyordu hatırladığım kadarıyla, geri kalanı senin siten ne kadar ram yiyosa işte. bide resimleri falan filan kapatırsın ram yemesin istiyosan.
ama benim önerim seleniumdan önce network tabından gelen gidene bakıp istekleri simüle etmen
hocam bunu nasıl kuruyoruz ?
-
DarkFall bunu yazdıyolbulucu bunu yazdı
chrome ı siktiret (çok ram yiyor)
https://hub.docker.com/r/selenium/standalone-firefox/
docker kurup şu imajla işini halledebilirsin. arkada çalışır. seni rahatsız etmez. boştayken 5mb falan bi ram harcıyordu hatırladığım kadarıyla, geri kalanı senin siten ne kadar ram yiyosa işte. bide resimleri falan filan kapatırsın ram yemesin istiyosan.
ama benim önerim seleniumdan önce network tabından gelen gidene bakıp istekleri simüle etmen
hocam bunu nasıl kuruyoruz ?
docker kur, sonra kitematic kur , (kitematic docker icin bir gui) sonra kitematicteki arama kısmına "standalone firefox" yaz çıkar zaten ordan kurarsın.
seleniumla bağlanırken kullanacağın portu portlar kısmından ayarla
-
Aşağıda vereceğim kanalda dockerla ilgili bir video serisi mevcut;
https://www.youtube.com/channel/UC0NFIrReZaqFvUfmI4BImOg
-
Clostridium bunu yazdı
selam hocalar,
python ile bi web scraping işim var fakat şimdi şöyle ki chrome üzerinden arka planda bir çalışma prensibi yaratmaya çalıştığımda bu chrome driver'ın bilgisayarda kurulu olan google chrome ile uyuşması gerekiyor öteki türlü kaputa bağlıyo, zamanında bu problem yüzünden işi almamıştım fakat yeniden önüme gelince burada ki üstadlara da bir sorayım dedim .. bu işi en pratik nasıl çözebiliriz , ya da daha kullanışlı bir yöntem var mı? (arkadaşla aws üzerinden cloud ta calısacak sekilde yapalım dedik ama ücret vs girdi işin içine bulaşmadık ta, varmı baska pratik yöntem ?)
işin özeti şu; website üzerinden güncel veriyi çektiricem arka planda bunu da düzenli olarak bı excel veyahut notepad'e tutturucam ama bu driver mevzusu baya bunalttı
bu konularda en temizi request.response alabildiğin bir siteyse requestle yap derim.yardımcı olabileceğim bir konu varsa özelden yazabilirsin.
-
Bunun için requests kullanabilirsiniz evet, yalnız arkaplanda çalışma mevzusu için thread yönetimini ayarlamanız gerekiyor. Chrome webdriver gibi çözümler fazla efektif değil. Aynı zamanda iş yapan process sayısı arttığında sistem tabanlı kısıtlamalar yazılımınızı yavaşlatabilir. Bu yüzden şu üç keyword üzerine yoğunlaşın "requests celery" veya "scrapy"
-
statik sayfaysa veya çekmek istediğin şey statik kısımdaysa
1) belli aralıklarla tek bir sayfadan veri çekeceksen requests + beautifulsoup/lxml
2) aynı sitenin bir sürü sayfasını fütursuzca çekeceksen scrapyiçerik dinamikse headless selenium