难道我们只能获取网页头部信息而不获取正文吗? (机械化)

发布于 2024-08-30 19:30:02 字数 120 浏览 5 评论 0原文

如果我只需要下载自上次下载以来页面未发生更改的页面,该怎么办? 最好的方法是什么?我可以先获取页面的大小,然后比较确定它是否已更改,如果是,我要求下载,否则跳过?

我计划使用(python)mechanize。

What if I only need to download the page if it has not changed since the last download?
What is the best way? can I get the size of the page first, then compare the decide if it has changed, if so, I ask for download else skip?

I plan to use (python) mechanize.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吻风 2024-09-06 19:30:02

请求应该是 HEAD,而不是 GET:

9.4头

HEAD 方法与 GET 相同
除了服务器不得返回
响应中的消息正文。这
HTTP 中包含的元信息
响应 HEAD 请求的标头
应与信息相同
响应 GET 请求而发送。
该方法可用于获取
有关实体的元信息
请求暗示没有
转移实体本身。
该方法常用于测试
超文本链接的有效性,
可访问性和最近的
修改。

对 HEAD 请求的响应可能是
可缓存的意思是
响应中包含的信息
可以用来更新以前的
来自该资源的缓存实体。如果
新的字段值表明
缓存的实体与当前的实体不同
实体(如由
内容长度、内容 MD5 的变化,
ETag 或 Last-Modified),然后是缓存
必须将缓存条目视为过时的。

请参阅此处 如何执行 HEAD 请求机械化库

the request should be a HEAD, not a GET:

9.4 HEAD

The HEAD method is identical to GET
except that the server MUST NOT return
a message-body in the response. The
metainformation contained in the HTTP
headers in response to a HEAD request
SHOULD be identical to the information
sent in response to a GET request.
This method can be used for obtaining
metainformation about the entity
implied by the request without
transferring the entity-body itself.
This method is often used for testing
hypertext links for validity,
accessibility, and recent
modification.

The response to a HEAD request MAY be
cacheable in the sense that the
information contained in the response
MAY be used to update a previously
cached entity from that resource. If
the new field values indicate that the
cached entity differs from the current
entity (as would be indicated by a
change in Content-Length, Content-MD5,
ETag or Last-Modified), then the cache
MUST treat the cache entry as stale.

See here How can I perform a HEAD request with the mechanize library?

羞稚 2024-09-06 19:30:02

是的,您可以通过这样的设置在 python mechanize 中获取更多信息

br = mechanize.Browser()
br.set_debug_http(True)
br.set_debug_redirects(True)
... Your code here ...

通过这样做,您可以获得页面的有价值的标题信息

yes you can get more information in python mechanize by setting like this

br = mechanize.Browser()
br.set_debug_http(True)
br.set_debug_redirects(True)
... Your code here ...

by doing this, you can get valuable header information of the page

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文