2011-12-15 15 views
6

मैं पाइथन के मैकेनाइज मॉड्यूल के साथ काम कर रहा हूं।पायथन मैकेनाइजेशन इन साइटों को नहीं खोलेंगे

  1. en.wikipedia.org/wiki/Dog (नया उपभोक्ता, अधिक से अधिक 2 लिंक टीटी पोस्ट नहीं कर सकते)
  2. https://www.google.com/search?num=100&hl=en&site=&q=dog&oq=dog&aq=f&aqi=g10&aql=1&gs_sm=e&gs_upl=618l914l0l1027l3l2l0l0l0l0l173l173l0.1l1l0
  3. : मैं 3 अलग अलग साइटों को सीधे मशीनीकरण से खोला नहीं जा सकता का सामना करना पड़ा
  4. http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html

    import mechanize 
    br = mechanize.Browser() 
    br.set_handle_robots(False) 
    

निम्नलिखित कोड जोड़ने खोलने के लिए और विकिपीडिया लेख और गूगल खोज परिणाम पार्स करने के लिए मशीनीकरण की अनुमति देता है रों: जहां मैं भी कीबोर्ड उसे बाधित नहीं कर सकते हैं बात करने के लिए -

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 

लेकिन, मेरे समाधान CPSC.gov वेबसाइट के लिए कोई मुकाबला नहीं कर रहे हैं - जब मैं मशीनीकरण ब्राउज़र के साथ इसे खोलने के लिए प्रयास करते हैं, मेरी अजगर फ्रीज़ ।

यहां क्या हो रहा है?

उत्तर

14

cpsc.gov साइट के मामले में, ऐसा लगता है कि refresh शीर्षलेख है जिसे HTTPRefreshProcessor मशीनीकरण द्वारा सही तरीके से संसाधित नहीं किया जा रहा है। हालांकि, आप निम्नानुसार समस्या का समाधान कर सकते हैं:

import mechanize 

url = 'http://www.cpsc.gov/cpscpub/prerel/prhtml03/03059.html' 
br = mechanize.Browser() 
br.set_handle_refresh(False) 
br.open(url) 
+0

आप एक मालिक हैं! क्या मैं आपसे पूछ सकता हूं कि आप मेरे प्रश्न का उत्तर कैसे जानते थे? –

+2

मैंने देखा है कि 'urllib2.urlopen' और' mechanize.urlopen' के साथ यूआरएल खोलना संभव था। इसके बाद, मैंने प्रत्येक सलामी बल्लेबाज ('urllib2._opener', 'mechanize._opener' और' mechanize.Browser() 'के हैंडलर की तुलना की) और [HttpFox] से निशानों में देखा (https://addons.mozilla.org/en-US/फ़ायरफ़ॉक्स/ऐड-ऑन/httpfox /)। कुछ प्रयासों के बाद, मैंने पाया कि रीफ्रेश प्रोसेसर को हटाने का सही समाधान था। – jcollado

+0

सम्मान। धन्यवाद फिर से :) –

संबंधित मुद्दे