1

我想在 www.fanfiction.net 上找到一个故事的最后一章编号,只是为了好玩。为此,我认为由于它具有固定的 url 模式,我只会增加章节编号,直到它给我一个不存在的 url。

要查找 url 是否存在,我在这个stackoverflow 问题中尝试了脚本

但是我发现它没有给出 > 400 的响应错误,而是给出了一条消息以及 200 响应。识别页面是否存在的最佳方法是什么。

这是一个实际存在的链接存在,这是一个不存在的链接不存在

我该怎么做?

编辑 1

感谢 GregSchoen,我解决了这个问题。我希望它是正确的:)

我检查了 resp.getheader("last-modified", None) 的值,它给出了活动链接的一些日期,而那些没有的则没有。

非常感谢

4

3 回答 3

0

也许使用 cURL,读取 100 个字节,然后在数据开头查找“FanFiction.Net Message Type 1”?

于 2011-07-10T23:26:29.430 回答
0

该网站没有给出404错误,这使得所有这些脚本都无用。您将需要下载整个网页并检查它是否看起来像一个404页面。

我认为只是运行:

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

诀窍,因为页面以<style>标签开头(普通页面不应该)。

于 2011-07-10T23:28:28.570 回答
0

如果您对您提供的 URL 执行 HEAD 请求,则 Last-Modified 会设置在有效页面上,但不会设置在无效页面上。这将是键入有效页面的一种简单方法,因为它们的服务器没有使用正确的 HTTP 代码进行响应。

于 2011-07-10T23:31:48.883 回答