Arkadaşlar merhaba iyi forumlar,
2 sorum var.
- Selenium modülünü kullanmak ama tarayıcı çalıştırmadan internetten veri çekmek istiyorum.
- selenium dışında ne yaparak internetten tarayıcı çalıştırmadan veri çekebilirim?
Arkadaşlar merhaba iyi forumlar,
2 sorum var.
Selenium için driverların headless sürümünü bulabilirseniz onu kullanın, ama bulmak zor sanırım.
requests, urllib, robobrowser, scrapy gibi kütüphane ve modüller.
Merhaba.
Tarayıcıyı çoğunlukla javascript’i çalıştırması için kullanıyoruz, buna ihtiyaç yoksa bir HTTP(S) istemci kütüphanesi iş görür.
Tarayıcıyı çalıştırıp ekrana çıkmasını engellemek istiyorsanız kolay.
Tam olarak hangi veriyi elde etmeye çalıştığınızı açarsanız daha rahat öneride bulunuruz.
ve bs4 işimi gördü. teşekkür ederim
google ın sunduğu hisse senedi bilgilerinin değerini almaya çalışıyordum. bs4 ve request ile çözdüm
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
ayarlar = Options()
ayarlar.add_argument("--headless")
driver = webdriver.Chrome(options=ayarlar)
şeklinde tarayıcı gözükmeden açabilirsiniz eğer tarayıcı chrome ise
Bu yöntemi daha önce denemiştim, çok sağlıklı olmadığını söyleyebilirim. Bazı sayfalarda istediğiniz bilgiyi çekemeyebiliyorsunuz. Daha önce OBS(öğrenci bilgi sistemi) üzerinden notlarımın açıklanıp açıklanmadığını selenium ile takip etmek istemiştim. Headless olarak kullandığımda notları çekemiyordum. Halbuki tarayıcı penceresi açılınca çekebiliyordum.
ihtiyaç duyunca kullanacağım teşekkür ederim.
bs4 ve request ile güzel oldu ihtiyacımı gördü
bunu nasıl yapabilirim?
Ufak bir araştırma ile forumda veya stackoverflow’da bulabilirsiniz.
Bilim ve Teknik’in 500. sayısında WolframAlpha isimli bir arama motoru vardı.Bu arama motoru yazdığınız şeyleri internette arayarak sizin önünüze seriyor.Örnegin hava durumu araması yaptığınız zaman bulunduğunuz yerdeki hava durumunu ekrana bastırıyor.Siz diğer web sitelerindeki veriyi otomatik olarak çekmiş oluyorsunuz.Gelistiricisi ise bir matematik profesörü.
Selenium u PhantomJs ile kullanıp tarayıcı ekranda görmeden veri alabilirsiniz.
kullanım örnekleri için kaynak tavsiyeniz var mı?
Daha önce bir arkadaşım için böyle bir şey hazırlamıştım, belki işinize yarayabilir.
import requests
from bs4 import BeautifulSoup
il = input("il adi giriniz : ")
kisaltma = input("il kisaltmasi giriniz: ")
kod = input("il kodu giriniz: ")
translationTable = str.maketrans("ğüşçöı", "guscoi")
def data():
url="http://dunya.arztalep.com/tr-TR/" + il + "/" + il + "-haritasi.aspx"
resp=requests.get(url)
if resp.status_code==200:
print("Web sayfası başarıyla açıldı...")
soup=BeautifulSoup(resp.text,'html.parser')
say = 0
idNo = int(input("id kactan baslayacak: "))
print(il, "iline ait ilce ve koordinat bilgileri\n")
while(say < 39):
sa = soup.find("div", {"id":"loc_"+str(say)})
for lat in sa.findAll("meta", {"itemprop":"latitude"}):
for long in sa.findAll("meta", {"itemprop":"longitude"}):
for ilce in sa.findAll("span", {"itemprop":"name"}):
slug = ilce.text
slug = slug.lower()
print("(" + str(idNo) + ",", "'" + ilce.text + "',", "'" + kisaltma + "',", kod + ",", "'" + slug.translate(translationTable) + "',", "'" + lat["content"] + "',", "'" + long["content"] + "'),")
say+=1
idNo+=1
else:
print("Error")
data()