Piszę robota i do tego implementuję parser robots.txt, używam standardowej biblioteki robotparser.Robotparser nie parsuje się poprawnie
Wydaje się, że robotparser jest nie analizowania poprawnie, jestem debugowania robota przy użyciu Google robots.txt.
(po przykłady z 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
To zabawne, bo czasami wydaje się, że „praca”, a czasem wydaje się nie uda, ja też próbowałem to samo z robots.txt z Facebook i Stackoverflow. Czy jest to błąd z modułu robotpaser
? Czy robię coś złego tutaj? Jeśli tak to co?
Zastanawiałem się, czy this bug miał coś związanego
Używam również Python 2.7.3 na maszynie Linux (Arch Linux) –