Web den veri cekmek istiyorum nereden baslayip ilerlemeliyim

Merhaba arkadaslar
Hali hazirda kullandigim bie exe var arkadasim vb de yazmisti bir siteyi otomatik takip ediyor. soyleki bir alani takip ediyor o siteden istedigim kadar link girebiliyorum
Sitenin belli alanini alip mail atiyor
Benim belirledigim zaman araliginda kontrol ediyor yeni eklenenleri html olarak mail atiyor tekrar tiklayabileyin diye
Son halini aliyor ve bunun üstine yeni bir sey eklenmismi diye kontrol ediyor
Benim yeni bir site icin boyle bir seye ihtiyacim var bunu yapmaiın en kolay yolu hangi dilde ne şekildedir hocalarim beatifulsoup ve seleniumla birazcik ugrastim ama başaramadım
Bu arada bir programlama dili bilmiyorum

Hiç birşey anlamadım.

Bu site ne ile yazılmış?

Html site hocam selenium la cekmek daha iyi gibi ama cektikten sonra du zamanda tekrar kontrol et degisiklik olumca degisikligi mail at gibo sorularimin cevaplari yok udemyden egitinlere bakiyorum hepsi birbirinin aynisi if else vs vs seleniumla alinir filan seleniumu duzgun anlatan yok kafam iyice karisti yada baska bir programlama dili ile daha basit oluyor bu is dense ona yonelicem oda belirsiz

Site de hangi alanı istiyorsanız çekin. Onu bir metin belgesi vs. kayıt ettirin. Daha sonra hangi sıklıkla siteyi kontrol etmek istiyorsanız ayarlayın. Yeni çekilen veriyi ilk kayıt ettirdiğiniz metin dosyası ile karşılaştırın değişiklik varsa eposta olarak atın.

Bence şu sizin için uygun bir yol haritası:

  1. Şuradan Python’ı biraz öğrenin: https://belgeler.yazbel.com/python-istihza/ Temelini oturttuktan sonra hızlı hızlı geçseniz de olur. Ancak öğrenmenin altın kuralının alıştırma yapmak olduğunu unutmayın.
  2. Scrapy’ye bakın; işinizi görecektir. Ya da requests ve BeautifulSoup modüllerine de bakabilirsiniz.

Bu arada Udemy’de eğitim vidyoları izleyenleri anlayamıyorum. Faydası oluyor mu hiç? Vidyo izlerken alıştırma nasıl yapıyorsunuz? Çok fazla zamana mâl olmuyor mu? (Biraz eski kafalı da olabilirim. :smile:)

2 Beğeni

Eğitim olarak bu kanalı tavsiye ederim, selenium ile ilgili kaynak olarak güzeldir.

Peki mail attirma isini nasil yapicaz hadi html i parcaladik isimize yarayani cektik degisiklik ve mail nasil olur ayrica kontrol ettirme

Hangi site?

Ornek? Link?


cron + wget + sed + diff + sendmail veya xml2json + jq + diff + sendmail daha kolay olabilir.

Hocam pm atayim size olur mu biraz daha acarmisiniz nasil yapilabilecegini

Buradaki mantık yanlış. Önce HTML çekilir, sonra işimize yarayan kısım alınır.

Bunlar sonraki adımlar. O kadar zor değil, merak etmeyin.

Programlama dili bilmeyen birisi için bunlar bir şey ifade etmeyebilir. İzlenecek yol ne olursa olsun, öncelikle temel bilgiler öğrenilmeli.

Bu işin kesinlikle kolay bir yolu yok. Öncelikle öğrenin!

Ben web kazıma işlemleri için genelde requests, BeautifulSoup ve re modüllerini kullanırım. Fazlasıyla iş görürler. Mail göndermek için smtplib kullanabilirsin.

Re modulu nedir hocam
Bubisi bir sekilde ogrenecegim ve cozene ksdar buradaki arkadaşlari cok yorucsm

Düzenli ifadeler (regular expressions). Bu da öğrenmeniz gereken bir şey. Ancak sizin yapmak istediğiniz iş için gerekli olmayabilir. CSS seçicileri ya da XPath’i de kullanabilirsiniz.

Gördüğünüz gibi kolay gibi görünen bir iş bile birçok şeyi öğrenmeyi gerektiriyor. Bu işler böyle. :smile:

Hiç sorun değil. Buradaki herkes zaten bu işi gönüllü yapıyor. :slight_smile:

Kesinlikle katiliyorum. Bir tanesini de isimlendiriyorum: Dogru soru sorabilme.

Mesela spesifik bir site icin scraper yazmanin en kolay yolunu soruyorsan, bu sitenin adresi verecegin ilk bilgi olmali.

hocam yazarım da direk site linki vermek sorun olur diye yazmak istemedim şöyle söyleyeyim Türkiyenin en büyük ikinci el siteleri diyeyim

Reklama girer. Ancak burada daha büyük bir sorun var: O sitenin muhtemelen bu tür veri çekimini engelleyen kullanım şartları vardır. Bu sebeple bu tür bir tartışmanın herkese açık bir forumda yer alması uygun olmaz.

Reklama nasil giriyor? Mesela bir AWS EC2 endpoint’i hata veriyor, ona request yapan kodu paylasmak AWS reklami mi oluyor? (Forum kurallari post’u pin’li degil, bulabilirsem tekrar okuyacagim)

Sitenin bu tur veri cekimini engelleyen kullanim sartlari yoksa ve hatta direk API’si varsa bosuna bile debeleniyoruz, simdiye bitmisti kod.

Bu ince bir çizgi aslında. Mesela ben bir sitenin reklamını yapmak istesem, o site ile ilgili geliştirme amaçlı sorular sorardım. Hatta o sitenin adresini vermem gerekmese bile insanların gözüne gözüne sokardım. Ki çoğu durumda adres vermeden sadece API’ı tanımlamak yeterli olur. Ancak vermek gerekiyorsa tabii ki verilir, bunda sorun yok. “Reklama girer.” demiştim, düzeltiyorum: “Reklama girebilir.” AWS farklı biraz, doğrudan geliştirme ile ilgili ve çoğu zaman bahsetmek gerekiyor, GitHub gibi mesela.

Forumla ilgili belirli kurallar yok. Şurada bir şeyler var: YazBel forumuna hoşgeldiniz! Reklamla ilgili bir kurala zaten ihtiyaç olmadı şimdiye kadar. Discourse sağolsun, SPAM’ları algılıyor. Ancak topluluk büyüdükçe muhtemelen göreceğiz ki birçok reklam ortaya çıkmaya başlayacak. İşte o zaman bir kurala ihtiyaç duyacağız.

Hmm, anladim. Boyle saibeli durumlarda genelde case-by-case gidiliyor, yani manuel olarak bakip “adam hakkaten reklam mi yapiyor, yoksa ciddi bir sorusu mu var” inceleniyor. (Sayilari/oranlari elle bakilabilecek kadar az) Soruda “abi hangi siteden bahsediyosun, boyle havada konusulunca bosa vakit geciyor” diyen birinin olmasi net reklam olmayabilirligi yonunde puan.

Neyse, insanlarin birbirine en az guvendigi ulkelerin birindeyiz, API vermek, scrape tolere etmek filan hayal.