मैं https://www.espn.com/nba/scoreboard को परिमार्जन करने का प्रयास कर रहा हूं वहाँ एक प्रकार की तारीख वस्तु है जिसमें पहले खेले गए खेलों के बॉक्स स्कोर के लिंक होते हैं।

मैं प्रयास कर चुका हूं :

divs = soup.find('div',class_='datepicker datepicker-dropdown datepicker-orient-left datepicker-orient-top')

print(divs)

आउटपुट है: कोई नहीं

अन्य वर्ग मिल सकते हैं, लेकिन किसी कारण से यह वर्ग नहीं मिल सकता है। मुझे लगता है कि इसका इस तथ्य से कुछ लेना-देना है कि यह वर्ग एक कैलेंडर से संबंधित है जो वेब पेज के भीतर पॉप अप होता है (यूआरएल को बदले बिना)।

0
Yossi Bondarev 29 फरवरी 2020, 18:35
क्या आपने HTML में div को खोजने का प्रयास किया है जो आपकी स्क्रिप्ट में है?
 – 
Ed Ward
29 फरवरी 2020, 18:39
हाँ, यह निश्चित रूप से है
 – 
Yossi Bondarev
29 फरवरी 2020, 18:41
क्या आप हमें वह स्रोत दिखा सकते हैं जो आपकी स्क्रिप्ट खोज रही है? :)
 – 
Ed Ward
29 फरवरी 2020, 18:42
 – 
Yossi Bondarev
29 फरवरी 2020, 18:50
मुझे आशा है कि आपका यही मतलब था ..
 – 
Yossi Bondarev
29 फरवरी 2020, 18:50

2 जवाब

यह संभव है कि पृष्ठ लोड होने के बाद HTML का कुछ भाग .js स्क्रिप्ट गतिशील रूप से द्वारा जोड़ा गया हो।

यदि ऐसा है तो आप सूप का उपयोग करके इसे लोड नहीं कर पाएंगे...

1
Pavlo Zin 29 फरवरी 2020, 18:44

ऐसा लगता है कि यह काम करता है:

import bs4

html = """<div class="datepicker datepicker-dropdown datepicker-orient-left datepicker-orient-top" style="top: 35px; left: 0px; display: block;">"""

soup = bs4.BeautifulSoup(html, "html.parser")

class_ = "datepicker datepicker-dropdown datepicker-orient-left datepicker-orient-top".split(" ")
divs = [div for div in soup.find_all("div") if all(x in div.attrs["class"] for x in class_)]

print(divs)

आउटपुट:

[<div class="datepicker datepicker-dropdown datepicker-orient-left datepicker-orient-top" style="top: 35px; left: 0px; display: block;"></div>]
0
Ed Ward 29 फरवरी 2020, 18:58