检查fanfiction.net上的网址是否存在
我想知道在 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状态码。