【发布时间】:2025-12-13 00:05:01
【问题描述】:
我一直有一些有趣的行为,希望能解释一下为什么会发生这种情况。
我正在使用以下内容来抓取一个页面,然后对其进行解析:
r = requests.get(html)
现在,当我在 Windows 计算机上使用 python 在网页 A 上运行它时,它会按预期返回页面。
但是,当我在我的 Synology Diskstation(我相信基于 Linux)上运行相同的命令时,它返回一个 404 页面未找到页面而不是输入的 url 页面。
当我尝试不同的 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'}
【问题讨论】:
-
您要获取的实际 URL 是什么?
-
两个平台上的 Python 版本是否相同?
-
@Hromgo 是的!刚刚加倍检查,两者都是 2.7.12
-
@jwodder 我不想提它,但我确实找到了另一个发生这种情况的网站:store.concept1.ca/Trunk-Liner-SB-Lower-71-79-133863505B-WW
-
查看两个请求,看看标头是否不同。
标签: python web-scraping python-requests webpage