Scraping ekranu: poruszanie się "błąd HTTP 403: żądanie wyłączone przez roboty.txt"
Czy istnieje sposób, aby obejść następujące?
httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt
Jest jedynym sposobem na skontaktowanie się z właścicielem strony (barnesandnoble.com) .. buduję witrynę, która przyniesie im większą sprzedaż, Nie wiem, dlaczego odmówią dostępu na pewnej głębokości.
Używam mechanize i BeautifulSoup na Python2. 6.Mając nadzieję na obejście
8 answers
Możesz spróbować kłamać na temat swojego agenta użytkownika (np. próbując uwierzyć, że jesteś człowiekiem, a nie robotem), jeśli chcesz mieć ewentualne problemy prawne Z Barnes & Noble. Dlaczego zamiast tego nie skontaktować się z ich działem rozwoju biznesu i przekonać ich, aby upoważnić Cię konkretnie? Bez wątpienia starają się uniknąć skrobania ich strony przez niektóre klasy robotów, takie jak porównywarki cen, a jeśli możesz ich przekonać, że nie jesteś jednym z Nich, podpisz umowę, itp., mogą być skłonni zrobić wyjątek dla Ciebie.
"techniczne" obejście, które łamie ich zasady zakodowane w robotach.txt jest podejściem wysokiego ryzyka prawnego, którego nigdy nie polecam. BTW, jak robi ich roboty.txt Czytaj?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-17 00:40:27
Musisz zignorować roboty.txt
br = mechanize.Browser()
br.set_handle_robots(False)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-03 13:02:38
Mechanizacja automatycznie podąża za robotami.txt, ale można go wyłączyć, zakładając, że masz pozwolenie lub przemyślałeś etykę ..
Ustaw flagę w przeglądarce:
browser.set_handle_equiv(False)
To ignoruje roboty.txt.
Upewnij się również, że dławisz swoje żądania, aby nie obciążać ich zbytnio. (Zauważ, że to również zmniejsza prawdopodobieństwo, że wykryją cię i zablokują).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-16 15:21:41
Kod do poprawnego żądania:
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')]
resp = br.open(url)
print resp.info() # headers
print resp.read() # content
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-20 22:16:41
Błąd, który otrzymujesz, nie jest związany z agentem użytkownika. mechanizacja domyślnie sprawdza roboty.dyrektywy txt są automatycznie używane podczas przechodzenia do witryny. Użyj .set_handle_robots (false) metoda mechanizacji.przeglądarka, aby wyłączyć to zachowanie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-11 23:17:11
Ustaw nagłówek User-Agent
tak, aby pasował do prawdziwego agenta użytkownika IE / FF.
Oto mój łańcuch IE8 useragent:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; AskTB5.6)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-17 00:39:51
Bez dyskusji o etyce tego można zmodyfikować nagłówki wyglądać jak googlebot na przykład, czy googlebot jest zablokowany, jak również?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-17 00:40:48
Jak się wydaje, musisz zrobić mniej pracy, aby ominąć robots.txt
, przynajmniej mówi Ten artykuł . Więc być może będziesz musiał usunąć jakiś kod, aby zignorować filtr.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-17 00:41:33