检查fanfiction.net上的网址是否存在

1 投票
3 回答
508 浏览
提问于 2025-04-16 21:13

我想知道在 www.fanfiction.net 上一个故事的最后一章的章节号,纯粹是为了好玩。因为这个网站的链接格式是固定的,所以我打算一个一个地增加章节号,直到出现一个不存在的链接为止。

为了检查这个链接是否存在,我试用了一个在这个 stackoverflow的问题 上的脚本。

不过我发现这个脚本并没有返回大于400的错误,而是给了一个200的响应消息。那我该怎么判断这个页面是否存在呢?

这里有一个确实存在的链接 存在,而这里有一个不存在的链接 不存在

我该怎么做呢?

编辑 1

感谢 GregSchoen 的帮助,我搞明白了。我希望这个方法是正确的 :)

我检查了 resp.getheader("last-modified", None) 的值,发现对于有效的链接会返回一个日期,而对于不存在的链接则返回 None。

非常感谢!

3 个回答

0

那个网站并没有返回一个 404 错误,这样的话那些脚本就没什么用处了。你需要下载整个网页,然后检查一下它是不是看起来像一个 404 页面。

我觉得只要运行:

if (page.find('<style>') == 0):

就可以解决问题,因为这个页面是以 <style> 标签开头的(正常的页面一般不会这样)。

0

你可以试试用cURL这个工具,读取100个字节的数据,然后看看开头是不是有“FanFiction.Net Message Type 1”这个内容?

0

如果你对你提供的那些网址做一个HEAD请求,合法的页面会有一个“最后修改时间”的标记,而不合法的页面则没有。这其实是一个简单的方法,可以用来判断哪些页面是有效的,因为服务器对不合法页面没有返回正确的HTTP状态码。

撰写回答