मैंने एक टोरेंट साइट से कुछ फिल्म जानकारी पार्स करने के लिए vba में एक स्क्रैपर लिखा है। मैंने कार्य को पूरा करने के लिए IE
और queryselector
का उपयोग किया। जब मैं अपना कोड निष्पादित करता हूं तो यह एक त्रुटि पॉप-अप के साथ सब कुछ पार्स करता है। ऐसा लगता है कि त्रुटि जारी रखने के बजाय कहीं भी नहीं दिखाई देती है। अगर मैं त्रुटि बॉक्स को रद्द करता हूं तो मैं परिणाम देख सकता हूं। मैंने आपको त्रुटियों को दिखाने के लिए नीचे दो छवियां अपलोड की हैं। बिना किसी त्रुटि के कोड सफलतापूर्वक निष्पादित कैसे कर सकता हूं? अग्रिम में धन्यवाद।सब कुछ किया जाता है जब ब्राउज़र को छोड़ने के बजाए मेरा स्क्रैपर त्रुटियों को फेंक देता है
Sub Torrent_Data()
Dim IE As New InternetExplorer, html As HTMLDocument
Dim post As Object
With IE
.Visible = False
.navigate "https://yts.am/browse-movies"
Do While .readyState <> READYSTATE_COMPLETE: Loop
Set html = .Document
End With
For Each post In html.querySelectorAll(".browse-movie-bottom")
Row = Row + 1: Cells(Row, 1) = post.queryselector(".browse-movie-title").innerText
Cells(Row, 2) = post.queryselector(".browse-movie-year").innerText
Next post
IE.Quit
End Sub
त्रुटियों मैं आ रही हैं:
त्रुटियों कीदोनों एक ही समय में दिखाई दे रहे हैं
यहाँ पूर्ण कोड है। मैं इंटरनेट एक्सप्लोरर 11.
दूसरी तरफ, यदि मैं नीचे की कोशिश करता हूं तो यह परिणाम बिना किसी समस्या के सफलतापूर्वक लाता है।
Sub Torrent_Data()
Dim IE As New InternetExplorer, html As HTMLDocument
Dim post As Object
With IE
.Visible = False
.navigate "https://yts.am/browse-movies"
Do While .readyState <> READYSTATE_COMPLETE: Loop
Set html = .Document
End With
For Each post In html.getElementsByClassName("browse-movie-bottom")
Row = Row + 1: Cells(Row, 1) = post.queryselector(".browse-movie-title").innerText
Cells(Row, 2) = post.queryselector(".browse-movie-year").innerText
Next post
IE.Quit
End Sub
संदर्भ मैं पुस्तकालय के लिए जोड़ दिया है:
1. Microsoft Internet Controls
2. Microsoft HTML Object Library
तो, क्या queryselector
साथ कुछ गड़बड़ है या क्या मैं यहाँ याद कर रहा हूँ एक सफलतापूर्वक जाना बनाने के लिए? क्या त्रुटियों को हिलाकर पुस्तकालय में जोड़ने का कोई संदर्भ है?
त्वरित जांच: 'queryselector' को 'क्वेरी चयनकर्ता' में बदलकर पहले कोड नमूने में कोई अंतर आता है? – alecxe
नोप सर, बिल्कुल कोई बदलाव नहीं। वास्तव में, अगर मैं 'क्वेरी चयनकर्ता' लिखने का प्रयास करता हूं, तो यह स्वचालित रूप से लोअरकेस पर वापस आता है जो 'queryselector' है। – SIM
ठीक है, इसे आज़माएं: 'post.queryselector' को निष्पादित करने के बजाय बस 'post.innerText' को सीधे करें। यह वह नहीं है जिसे आप करना चाहते थे लेकिन चलो प्रयोग करें। क्या आप एक ही त्रुटि देखते हैं? धन्यवाद। – alecxe