स्क्रैपर वेबसाइट से खिताब निकालने में असमर्थ - पायथन, सेलेनियम, सेलेनियम-वेबड्राइवर, वेब-स्क्रैपिंग

मैंने संयोजन में पायथन में एक स्क्रिप्ट लिखी हैसेलेनियम के साथ वित्त.याहू वेबसाइट में बाईं तरफ बार में प्रदर्शित विभिन्न समाचारों के शीर्षक निकालने के लिए। मैंने सामग्री प्राप्त करने के लिए सीएसएस चयनकर्ता का उपयोग किया है। हालांकि, स्क्रिप्ट न तो कोई परिणाम दे रही है और न ही कोई त्रुटि फेंक रही है। मैं अपनी गलती को समझ नहीं सकता हूं। उम्मीद है कि कोई इसे देखेगा। अग्रिम धन्यवाद ।

मेरी स्क्रिप्ट यहाँ है:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://finance.yahoo.com/")
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "u.StretchedBox")))
for item in driver.find_elements_by_css_selector("u.StretchedBox span"):
print(item.text)
driver.quit()

तत्व जिनमें शीर्षक हैं:

<h3 class="M(0)" data-reactid="128"><a rel="nofollow noopener noreferrer" class="Fw(b) Fz(20px) Lh(23px) LineClamp(2,46px) Fz(17px)--sm1024 Lh(19px)--sm1024 LineClamp(2,38px)--sm1024 Td(n) C(#0078ff):h C(#000)" target="_blank" href="https://beap.gemini.yahoo.com/mbclk?bv=1.0.0&amp;es=bVwDtPMGIS8NDKqncZWZBjLsQQHm58Z9cLJuMqC6LadDlYfVCoy.d3GqO599EPAiYnsxB0SB8aRURPve9Q8mOEjH.NrcVcVDhldut.C_9Vn16XER1q1G07a48FMQ_.sv9GCyVx7zcj1kBtWPysaYzQqboJWgUo5DRRHbAnejwVtYRPHJTEptil92tx_ccJZ9FnxE8L3tfDuS0Q3l5ftVhamTOon_nzuvtvqqBwD7X0T.7Z3wZBgtH93gM1xImZ0hdFUzsuQPDAjZWs1KdH0YsXIf3uLrmcJFoI9leh8KRljnIPC.RdhOF6OYcJfHtDks85nSIgfOsMyUr1wEhMA2Qa2htpEg5w.P4UIXeoldjzJ_NsUrtXqEFIJNKoaeq_FNiQ9wcI16utKO87167zkfSPzVY09d3pVLZg20V7tqTThOkG_IakPnmlOriJKnufsBWj1wp.6Q4PasAt2g4Y1yw9U71FIfG2dDwpryRKDWrUBfTvjwwItlSyXyvWvIYUyXXxR74qWcIEC3KAvVN7.iqSckV_EssVM8ytp5HiN4iTACpEmc96rpdNEqHYpRotwze8NF5cDubsZbW58Hauq_aO.DbhZJ7TbBDx5vZK_M%26lp=https%3A%2F%2Fin.search.yahoo.com%2Fsearch%3Fp%3Dcheap%2Bairfare%2Bdomestic%26fr%3Dstrm-tts-thg%26.tsrc%3Dstrm-tts-thg%26type%3Dcheapairfaredomestic-in" data-reactid="129">


<u class="StretchedBox" data-reactid="130"></u>

<span data-reactid="131">The Cheapest Domestic Airfare Rates</span></a></h3>

उत्तर:

जवाब के लिए 2 № 1

आपको न तो त्रुटि नहीं मिली और न ही परिणाम:

  • find_elements_...() विधि आपको वापस करने का इरादा रखती है list। यदि आपका चयनकर्ता कोई तत्व नहीं मिला है तो आपको त्रुटि नहीं मिलती है, बस एक खाली सूची। अगर खाली सूची के माध्यम से पुन: प्रयास करने का प्रयास करने के लिए, तो आपको त्रुटि नहीं मिली
  • आपका सीएसएस चयनकर्ता मेल खाना चाहिए span वह वंश है u विशेषता के साथ class="StretchedBox", लेकिन वास्तव में आवश्यक है span नहीं है वंशज, परंतु भाई

नीचे कोड का उपयोग करने का प्रयास करें:

for item in driver.find_elements_by_css_selector("u.StretchedBox+span"):
print(item.text)

संबंधित सवाल
सबसे लोकप्रिय