मैं क्रॉलर लिख रहा हूं और इसके लिए मैं robots.txt पार्सर को कार्यान्वित कर रहा हूं, मैं मानक lib robotparser का उपयोग कर रहा हूं।रोबोटपार्सर सही ढंग से पार्स नहीं लग रहा है
ऐसा लगता है कि robotparserनहीं सही ढंग से पार्स करने, मैं अपने क्रॉलर डिबगिंग हूँ गूगल के robots.txt का उपयोग कर रहा है।
(निम्न उदाहरण IPython से हैं)
In [1]: import robotparser
In [2]: x = robotparser.RobotFileParser()
In [3]: x.set_url("http://www.google.com/robots.txt")
In [4]: x.read()
In [5]: x.can_fetch("My_Crawler", "/catalogs") # This should return False, since it's on Disallow
Out[5]: False
In [6]: x.can_fetch("My_Crawler", "/catalogs/p?") # This should return True, since it's Allowed
Out[6]: False
In [7]: x.can_fetch("My_Crawler", "http://www.google.com/catalogs/p?")
Out[7]: False
यह क्योंकि कभी कभी यह "काम" करने लगता है और कभी कभी यह असफल रहा है अजीब है, मैं भी फेसबुक और Stackoverflow से robots.txt के साथ एक ही करने की कोशिश की। क्या यह robotpaser
मॉड्यूल से एक बग है? या मैं यहाँ कुछ गलत कर रहा हूँ? यदि ऐसा है तो क्या?
मैं अगर this बग संबंधित कुछ
इसके अलावा मैं एक लिनक्स मशीन (आर्क लिनक्स) पर पाइथन 2.7.3 का उपयोग कर रहा हूं –