FLetcher adlı üyeden alıntı: mesajı görüntüle
selenium webp falan django ile otomatik gelmiyorsa ne anlamı kalıyor ki django özelinde açılan sunucunun? bilmediğmiden soruyorum

php çok karmaşık geliyor, python ile bot yapmak inanılmaz rahat, kopyala yapıştır ile bile birçok bot kolayca yapılıyor. o yüzden bu yolu seçtim.
bir de python ile web sitesi yapan adamlar nasıl yapıyor dediğiniz gibi zorsa
Selenium tarayici gorevi goruyor, asil isi python ile sen yapiyorsun. Mantigin yanlis bi kere.

beautifulsoup4 kullan, daha basit. Cektigin icerikleri json veya xml olarak cikti alirsin. eger webde cektigin icerikleri gormek istiyorsan da servera nginx kurup, json ciktilarini nginx'in html klasorune cikarttirabilirsin. daha sonra ise serveripadresi:80/cikti.json adresinden erisebilirsin.
botun belirli saatlerde calismasini istiyorsan da cronjob ayarlamalisin.

cronjob icin ise;

crontab -e yazip nano yu sec editor olarak ve 1,5 saatte calismasi icin soyle bir kod gerekli.

* * * 1 30 python3 ~/dosyaadi.py

kaydet ve cik.

Asagida beautifulsoup4 ile yazilmis bir ornek gosteriyorum. dosyaadi.txt olarak bulundugun klasore yazdirir. Mantigi cozmen acisindan ekledim ornegi.

import requests
from bs4 import BeautifulSoup
url = "https://www.python.org/jobs"
r = requests.get(url)
soup = BeautifulSoup(r.content,"lxml")
pages = len(soup.find_all("ul",attrs={"class":"pagination"})[0].find_all("li")) - 2
totalJobs = 0
f = open('dosyaadi.txt', 'w+', encoding='utf-8')
for pageNumber in range(1,pages + 1):
    pageRequest = requests.get("https://www.python.org/jobs/?page=" + str(pageNumber))
    pageSource = BeautifulSoup(pageRequest.content,"lxml")
    jobs = pageSource.find("div",attrs={"class":"row"}).ol.find_all("li")
    # Tüm işleri çektik, döngü ile ilan detaylarını alalım.
    for job in jobs:
        name = job.h2.find("a").text
        location = job.find("span",attrs={"class":"listing-location"}).text
        company = job.find("span",attrs={"class":"listing-company-name"}).br.next.strip()
        publish_time = job.find("time").text
        totalJobs += 1
        print(name+'\n'+location+'\n'+company+'\n'+publish_time+'\n'+'-'*60+'\n')
f.close()
print("Total {} jobs found.".format(totalJobs))
print('\n')