zoukankan      html  css  js  c++  java
  • Headers配置

    User-Agent

    其值为一些搜索引擎,代表是谁在访问此网页

    一般我们需要通过设置此值来伪装成浏览器,从而绕过一些反爬措施

    注意:如果需要频繁的爬取一个网页,最好弄一个User-Agent的列表来随时切换,从而避免被网站检测到

     

    Accept-Encoding

    一般我们请求网页的时候,服务器有可能会返回压缩过的数据给我们,这个时候只有解压才能获取我们想要的数据。

    一般可以通过数据包里的数据看出服务器是否压缩,以哪种方式压缩。

    • response headers中的 content-encoding

    • request header中的 accept-encoding

    content-encoding是指网页以哪种压缩方式传输数据给你

    accept-encoding是告诉服务器,我可以解压这些格式的数据

    • 网页一般会 根据 你发送的 accept-encoding 来 决定用什么格式 (content-encoding)来传给你

    如果 headers 里面不加这个字段,就是告诉服务器不需要压缩。这样服务器就会将网页的源码本身直接发给你,但这样会造成网络传输的流量变大

    requests会自动解压,所以不加accept-encoding字段也会有默认值gzip, deflate,只有设置字段accept-encoding的值为空的时候,才会获取没压缩过的数据

    注意:一般当我们请求网页的时候,返回的是乱码,就可以看看是不是自己并不能以 accept-encoding里的某种方式解压,而将此方式传给了服务器,从而造成了乱码。

     

    referer

    headers中的referer代表你是从哪个页面进入到此页面的。比如我们是从页面1进入到页面2的,那么页面2的referer就是页面1。

    如果直接在浏览器输入网址进入,referer就会不见,因为我们不是从其他页面进入此页面的

    有的网站会根据referer进行反爬

    注意:使用referer也会引起一些不好的结果,比如你点了一个链接,请求的时候referer就会携带当前的URL,如果你当前的url中有一些隐私信息,那种就会发送给请求的链接了

     

    accept

    代表客户端能够接收的数据类型,类型中的先后顺序代表客户端接受的先后顺序

     

    Accept-Language

    指浏览器用来展示返回信息所优先选择的语言

     

    Connection

    表示是否需要持久连接,如果需要,设置值为 keep-alive,服务器就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间

     

    Host

    请求的web服务器域名地址

     

    Cookie

    发送请求时,会将保存在该域名下的所有cookie值一起发送给浏览器

    注意:如果需要频繁的爬取一个网站,此值建议不断的切换来避免反爬措施

  • 相关阅读:
    帝国 标签模板 使用程序代码 去除html标记 并 截取字符串
    iis6 伪静态 iis配置方法 【图解】
    您来自的链接不存在 帝国CMS
    帝国cms Warning: Cannot modify header information headers already sent by...错误【解决方法】
    .fr域名注册 51元注册.fr域名
    帝国网站管理系统 恢复栏目目录 建立目录不成功!请检查目录权限 Godaddy Windows 主机
    星外虚拟主机管理平台 开通数据库 出现Microsoft OLE DB Provider for SQL Server 错误 '8004' 从字符串向 datetime 转换失败
    ASP.NET 自定义控件学习研究
    CSS层叠样式表之CSS解析机制的优先级
    ASP.NET程序员工作面试网络收藏夹
  • 原文地址:https://www.cnblogs.com/yanruizhe/p/15122342.html
Copyright © 2011-2022 走看看