Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
K
kb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • granite
  • kb
  • Wiki
    • Best_practice
  • spider

Last edited by 吴一博 Feb 27, 2021
Page history

spider

请求未正常获取到数据可能原因

headers中某些参数设置不能通过服务器检测

    1、content-length
        说明:该字段用于指定响应大小,但是scrapy框架下使用该参数可能会存在返回400错误,这是Twisted本身存在的问题。
        解决方案:去除该字段
    2、user-agent
        说明:指明浏览器类型,该字段可配合ip等其他数据标识请求,反爬中常用作频率检测指标,一旦超过设定的阈值将获取不到数据。
        解决方案:随机user-agent,pc web端可使用fake_useragent包
    3、refer
        说明:指明上一次请求的url,反爬时也有可能检测该字段,url一定要写正确
    4、cookie
        说明:指明cookie,服务器可通过该字段标识请求,该字段存在字段设置不正确、字段正确但是cookie使用时间过期或者使用次数到达限制等问题
        解决方案:对于段正确但是使用时间过期或者使用次数到达限制的问题,需频繁更换cookie

请求中某些参数设置不正确

出口ip被封

总结:请求未正常获取到数据可能原因不只于上面的例举,但是发现错误的方法都是相同的,都是先使用浏览器正常访问,复制成功获取到数据时请求的headers、url和data,写一个可以成功获取到数据的demo,再和无法获取到数据的爬虫程序对比,控制变量法找到关键因素。

Clone repository
  • README
  • basic_guidelines
  • basic_guidelines
    • basic_guidelines
    • dev_guide
    • project_build
    • 开发流程
  • best_practice
  • best_practice
    • AlterTable
    • RDS
    • azkaban
    • create_table
    • design
    • elasticsearch
    • elasticsearch
      • ES运维
    • logstash
View All Pages