我一直有一个有趣的行为,并希望解释为什么会发生这种情况。
我使用以下内容抓取一个页面然后解析它:
r = requests.get(html)
现在,当我在网页A上使用python在Windows计算机上运行时,它会像您期望的那样返回页面。
但是,当我在Synology Diskstation上运行相同的命令时(我相信基于Linux),它会返回一个404页面未找到的页面而不是输入的URL页面。
当我尝试不同的网址时,它会让我回到两个系统上的正确页面。
关于如何或为何发生这种情况的任何解释?
编辑:刚刚在家里的MacBook上试过它,它运行得很好。但由于某种原因,它仍无法在Diskstation上运行:S编辑:
来自两台机器的标题
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'}
答案 0 :(得分:0)
很可能,您要么遇到robots.txt问题,要么两个系统之间发送的标题信息不同。基本的痕迹应该指向正确的方向。