Hogyan scrapeljek? HELLPPP
Ez a jelenlegi kódom :
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pandas
import time
driver = webdriver.Chrome()
driver.maximize_window()
l=[]
URL = input(" [link]
try:
driver.get(URL)
except:
print("May be, You entered wrong URL")
driver.close()
exit()
try:
WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH,"//button[@title='Close']")))
driver.find_element(By.XPATH,"//button[@title='Close']").click()
except:
pass
try:
driver.execute_script("window.scrollTo(0, 800)")
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,"//a[text()='50']")))
driver.find_element(By.XPATH,"//a[text()='50']").click()
time.sleep(3)
except:
pass
l=[]
while True:
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"(//ul[@class='resultlist']/li)[1]/descendant::a[@data-js-action]")))
lenn = len(driver.find_elements(By.XPATH,"//ul[@class='resultlist']/li"))
for i in range(lenn):
try:
link = driver.find_element(By.XPATH,f"(//ul[@class='resultlist']/li)[{i+1}]/descendant::a[@data-js-action]").get_attribute('href')
print(link)
except:
link = ""
l.append(link)
print(i)
try:
driver.execute_script("window.scrollTo(0, 800)")
driver.find_element(By.XPATH,"//a[@class='weiter']").click()
time.sleep(3)
except:
break
l2 = []
print("Total Records = ",len(l))
for i in range(len(l)):
d={}
driver.get(str(l[i]))
try:
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//span[@class='location']/a")))
except:
continue
try:
Title = driver.find_element(By.XPATH,"(//h1)[1]").text
except:
Title = ""
try:
Address = driver.find_element(By.XPATH,"//span[@class='location']/a").text
except:
Address = ""
try:
Email = driver.find_element(By.XPATH,"//a[@id='email']").text
except:
Email = ""
try:
Website = driver.find_element(By.XPATH,"//div[@id='contact_fields']/a[@target]").text
except:
Website = ""
d['Job Title'] = Title
d['Address'] = Address
d['Email'] = Email
d['Website'] = Website
l2.append(d)
df = pandas.DataFrame(l2)
df.to_excel("Hotel.xlsx")
driver.close()
exit()
Szóval nekem erről az oldalról(hotelcareer.com) az (álláshirdető címe(1)), a (munkakör neve(2)) és az (email címe(3)) ez kb nagyjából sikerült de a kód befejezése után jöttem rá hogy az url lap változtatás után vagy akár milyen változtatás után nem változik mindig csak ez az url = [link] példa: tegyük fel hogy a kereső szekcióba kiválasztom hogy bécsben(vienna) keressek állásokat az url ugyanaz marad : [link] vagy ha frankfurtot írok be akkor is ugyan az, a url . Szóval nekem az a problémám hogy nem tudok kedvemre az scrapelni amit akarok hogyan lehet ezt megoldani (bocsi a ramaty megfogalmazásért remélem lehet érteni hogy mit akarok:)
Számokkal jelöltem [link]
az álláshirdető emailt a hirdetésre kattintva az alján találod.
pls help .....
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!