c爬虫抓取网页数据(HTTP请求头说明Allow服务器支持哪些请求方法(如GET、POST等))

优采云 发布时间: 2022-03-12 02:02

  c爬虫抓取网页数据(HTTP请求头说明Allow服务器支持哪些请求方法(如GET、POST等))

  HTTP 请求标头提供有关请求、响应或其他发送实体的信息。 (直接搬菜鸟教程)

  响应头描述

  允许

  服务器支持哪些请求方式(如GET、POST等)。

  内容编码

  文档的编码方法。 Content-Type 头指定的内容类型只有在解码后才能得到。使用 gzip 压缩文档可以显着减少 HTML 文档的下载时间。 Java 的 GZIPOutputStream 可以很方便地进行 gzip 压缩,但它只支持 Unix 上的 Netscape 和 Windows 上的 IE 4、IE 5。因此,servlet 应该通过查看 Accept-Encoding 标头(即 request.getHeader("Accept-Encoding"))来检查浏览器是否支持 gzip,对于支持 gzip 的浏览器返回 gzip 压缩的 HTML 页面,并返回正常其他浏览器页面的页面。

  内容长度

  表示内容长度。仅当浏览器使用持久 HTTP 连接时才需要此数据。如果要利用持久连接,可以将输出文档写入 ByteArrayOutputStream,完成后检查其大小,将该值放入 Content-Length 标头,最后通过 byteArrayStream.writeTo(response .getOutputStream()。

  内容类型

  指示以下文档属于哪种 MIME 类型。 Servlet 默认为 text/plain,但通常需要明确指定为 text/html。由于经常设置 Content-Type,HttpServletResponse 提供了专门的方法 setContentType。

  日期

  当前格林威治标准时间。可以用setDateHeader设置这个header,避免转换时间格式的麻烦。

  过期

  何时应将文档视为过期以不再缓存?

  最后修改

  上次修改文档的时间。客户端可以通过If-Modified-Since请求头提供日期,该请求将被视为条件GET,只返回修改时间晚于指定时间的文档,否则返回304(未修改)状态将被退回。 Last-Modified 也可以使用 setDateHeader 方法设置。

  位置

  指示客户端应该去哪里检索文档。 Location 通常不是直接设置的,而是通过 HttpServletResponse 的 sendRedirect 方法设置的,该方法也将状态码设置为 302。

  刷新

  表示浏览器刷新文档的时间(以秒为单位)。除了刷新当前文档,还可以使用 setHeader("Refresh", "5; URL=") 让浏览器读取指定页面。

  注意这个功能通常是通过在HTML页面的HEAD区域设置来实现的,这是因为自动刷新或者重定向不是对于不会使用 CGI 或 servlet 的 HTML 编写器的人来说可能是非常重要的。不过对于servlet来说,直接设置Refresh header会更方便。

  注意Refresh的意思是“刷新本页或N秒后访问指定页面”,而不是“每隔N秒刷新本页或访问指定页面”。因此,持续刷新需要每次发送一个Refresh头,发送204状态码可以阻止浏览器继续刷新,无论是使用Refresh头还是。

  注意刷新头不是HTTP官方规范的一部分1.1,而是一个扩展,但是Netscape和IE都支持。

  服务器

  服务器名称。 Servlet一般不设置这个值,而是由Web服务器自己设置的。

  设置-Cookie

  设置与页面关联的cookie。 Servlet 不应使用 response.setHeader("Set-Cookie", ...),而应使用 HttpServletResponse 提供的专用方法 addCookie。请参阅下面关于 cookie 设置的讨论。

  WWW-认证

  客户端应该在 Authorization 标头中提供什么类型的授权信息?在收录 401(未授权)状态行的响应中需要此标头。例如 response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。

  请注意,servlet 通常不处理此问题,而是允许 Web 服务器的专用机制来控制对受密码保护的页面(例如 .htaccess)的访问。

  1.5 个 Cookie

  指存储在用户本地终端上的一些数据(通常是加密的),用于识别用户身份和跟踪会话。

  cookie 是存储在计算机浏览器目录中的文本文件。当浏览器运行时,它存储在 RAM 中以发挥作用(这种 cookie 称为会话 cookie)。一旦用户访问 网站 或服务器被注销,cookie 就可以存储在用户的本地硬盘上(这种 cookie 称为 Persistent Cookies)

  1.6 认证

  一般来说,爬虫在抓取和访问网页时,会通过HTTP请求中的User Agent字段告知自己的身份信息。

  1.7 阿贾克斯

  Ajax 代表“AsynchronousJavascriptAndXML”(异步 JavaScript 和 XML),它指的是一种用于创建交互式 Web 应用程序的 Web 开发技术。 Ajax 可以通过在后台与服务器交换少量数据来异步更新网页。这意味着可以在不重新加载整个页面的情况下更新页面的某些部分。

  因为Ajax技术,我们在爬取的时候,有时候会发现get()的结果并没有我们想要的内容,因为在加载页面的时候只有少量的数据交换,而我们得到了什么用爬虫只是第一次。 HTML,然后你需要在开发者工具中找到你想要的数据。等有例子再详细分析。

  1.8 代理

  在使用爬虫的过程中,难免会遇到带有反爬虫的网站。这时候,我们需要一个代理ip。

  使用代理IP,我们可以先从代理获取代理网站,然后验证IP是否可用。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线