2017-01-23 6 views
2

У меня было немного большого смешного поведения и мне хотелось бы объяснить, почему это происходит.Python request.get() возвращается 404 страница не найдена

Я использую следующие захватить страницу, а затем разобрать через него:

r = requests.get(html) 

Теперь, когда я запускаю это на компьютере окна с питоном на веб-страницы А он получает обратно страницу, как можно было бы ожидать ,

Однако, когда я запускаю эту же команду на своей Synology Disk Station (я полагаю, что на Linux основан), она возвращает страницу с 404 страницами не найденную, а не введенную страницу URL-адреса.

Когда я пытаюсь использовать разные URL-адреса, он возвращает мне правильную страницу в обеих системах.

Любые объяснения относительно того, как и почему это происходит?

РЕДАКТИРОВАТЬ: Просто попробовал это на моем MacBook дома, и он работает нормально. Но почему-то до сих пор не работает на DiskStation: S

EDIT:

Заголовки из двух машин

Mac (где он работает):

{'Content-Length': '17924', 'X-Content-Type-Options': 'nosniff', 'Content-Encoding': 'gzip', 'Set-Cookie': 'PHPSESSID=q86c56e1e4t1d8jsu0penc488oraladt; path=/', 'Vary': 'Host,Accept-Encoding', 'Keep-Alive': 'timeout=10, max=100', 'Server': 'Apache', 'Connection': 'Keep-Alive', 'Date': 'Tue, 24 Jan 2017 04:31:08 GMT', 'Content-Type': 'text/html'} 

DiskStation (Где это не так):

{'X-Content-Type-Options': 'nosniff', 'Transfer-Encoding': 'chunked', 'Vary': 'Host', 'Keep-Alive': 'timeout=10, max=100', 'Server': 'Apache', 'Connection': 'Keep-Alive', 'Date': 'Tue, 24 Jan 2017 04:30:25 GMT', 'Content-Type': 'text/html'} 
+1

Каков фактический URL-адрес, который вы пытаетесь извлечь? – jwodder

+0

Являются ли версии Python одинаковыми на обеих платформах? – Thelmund

+0

@Hromgo Yup! Просто дважды проверено, и оба - 2.7.12 –

ответ

0

Более чем вероятно, что вы попали в файл robots.txt выпуск или информация о заголовке различаются между двумя системами. Основная трассировка должна указывать на вас в правильном направлении.

+0

Не могли бы вы предоставить дополнительную информацию? Как я могу сделать след? Я очень новичок в python и webscraping, поэтому я все еще многому учусь. –

+0

запросов игнорирует robots.txt (robots.txt на 100% добровольно), но да, проверьте отправленные и полученные заголовки: заголовки ответов просты: 'r.headers'. Вы также можете проверить перенаправления. Эта информация будет храниться в 'r.history'. Возможно, происходит плохая переадресация. – pbuck

+0

Спасибо @Peter. Я сделал то, что вы упомянули, и похоже, что r.history дает мне [] (Что такое перенаправление, если я не ошибаюсь? Я обновил оригинал заголовками двух разных машин. справка –