मैंने पाइथन डब्ल्यू/सेलेनियम और फैंटॉमजेएस में एक सरल वेबक्रैपिंग स्क्रिप्ट सेट की है। मुझे स्क्रैप करने के लिए कुल 200 यूआरएल मिल गए हैं। स्क्रिप्ट पहले 20-30 यूआरएल के बाद पहले ठीक हो जाती है (यह असफल होने पर यादृच्छिक लगता है और यह किसी विशेष यूआरएल से संबंधित नहीं है) मुझे पाइथन में निम्न त्रुटि मिलती है:सेलेनियम GhostDriver से कनेक्ट नहीं हो सकता है (लेकिन केवल कभी-कभी)
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to GhostDriver'
और मेरे ghostdriver.log:
PhantomJS is launching GhostDriver...
[ERROR - 2014-07-04T17:27:37.519Z] GhostDriver - main.fail - {"message":"Could not start Ghost Driver","line":82,"sourceId":140692115795456,"sourceURL":":/ghostdriver/main.js","stack":"Error: Could not start Ghost Driver\n at :/ghostdriver/main.js:82","stackArray":[{"sourceURL":":/ghostdriver/main.js","line":82}]}
मैं खोज की है और इतने पर सवालों के अधिकांश है कि वे एक भी यूआरएल नहीं चल सकता होने लगते हैं। एकमात्र अन्य प्रश्न जो मैंने पाया है, जहां स्क्रिप्ट के बीच में त्रुटि होती है this one है और इसका जवाब फ़ैंटोमज को नवीनतम संस्करण में अपग्रेड करना है, जो मैंने किया है। दूसरा जवाब बस उस यूआरएल को फिर से कोशिश करने के लिए कहता है और यह एक अच्छा समाधान नहीं लगता है क्योंकि यूआरएल फिर से असफल हो सकता है।
मैं लिनक्स टकसाल 17 पर phantomjs संस्करण 1.9.7 और सेलेनियम संस्करण 2.42.1 चला रहा हूँ अजगर 2.7.6
for url in ['example.com/1/', 'example.com/2/', 'example.com/3/', .. , ..]:
user_agent = 'Chrome'
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap['phantomjs.page.settings.userAgent'] = user_agent
driver = webdriver.PhantomJS(executable_path='/usr/bin/phantomjs', desired_capabilities=dcap)
driver.get(url)
'row.url' क्या है? –
@ पैड्राइक कनिंघम: टाइपो। फिक्स्ड। –
आपने phantomjs कैसे इंस्टॉल किया? –