selenyum lu web

Başlatan muhittin_kaplan, 30 Ocak 2020, 16:26:46

muhittin_kaplan

30 Ocak 2020, 16:26:46 Son düzenlenme: 30 Ocak 2020, 16:27:55 muhittin_kaplan
Bu bir deneme çalışması ama belkide işinize yarar. Sarı web sayfasındaki sonuçların fiyatlarını alıp lineer reg ile fiyat analizi yapıyor.

chromedriver i https://chromedriver.chromium.org/getting-started dan indirebilirsiniz.
Projenin çalışması için modüllerin yüklü olması gerekir. Bunu anaconda framework ile hızlıca yapabilirsiniz. (https://anaconda.org/)

from tqdm import tqdm
from selenium import webdriver
from selenium
.webdriver.support.ui import WebDriverWait
from selenium
.webdriver.chrome.options import Options
import matplotlib
.pyplot as plt
import numpy 
as np
import pandas 
as pd

chrome_options 
Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
driver webdriver.Chrome(executable_path='path/chromedriver',options=chrome_options)

url="https://www.sahibinden.com/citroen-c5"
driver.get(url)
driver.wait WebDriverWait(driver5)
try:
    
sayfaSayisi=driver.find_elements_by_class_name("mbdef")[0]
    
sayfaSayisiVal=sayfaSayisi.text
    sayfaSayisiVal
=int(sayfaSayisiVal.split()[1])
except IndexError:
    
sayfaSayisiVal=1

fiyatlar
=[]
print( 
url.find('?'))
if 
url.find('?')==-1:
    
paging "?pagingOffset="
else:
    
paging "&pagingOffset="

try:
    for 
sayfa in tqdm(range(sayfaSayisiVal)):


        
nurl=url+paging+str(sayfa*20)
        
driver.get(nurl)
        
driver.wait WebDriverWait(driver5)
        
araclar driver.find_elements_by_class_name("searchResultsItem")
        for 
i in araclar:
            
aracFiyatlari=i.find_elements_by_class_name("searchResultsPriceValue")
            if 
aracFiyatlari.__len__()==1:
                
fiyatlar.append(float(aracFiyatlari[0].text.split()[0]))
except:
    
pass
driver
.wait WebDriverWait(driver5)
driver.close()

x=np.arange(0,len(fiyatlar))
np.vstack([xnp.ones(len(x))]).T
m
np.linalg.lstsq(Afiyatlarrcond=None)[0]
plt.plot(xm*c'r'label='Fitted line')
plt.scatter(x=x,y=fiyatlar)
print(
x.max())
plt.title(url+"\nToplam:"+str(fiyatlar.__len__()))
plt.show()

#driver.save_screenshot("test.png")
www.ictr.club
www.muhittinkaplan.com

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.