PHP爬虫 -- 008 爬虫初探

什么是爬虫?

  • 从本质上来讲,就是利用程序在网上拿到对咱们有价值的数据
  • 爬虫能作不少事,能作商业分析,也能作生活助手,
  • 好比:分析北京近两年二手房成交均价是多少?
  • 深圳的Python工程师平均薪资是多少?
  • 北京哪家餐厅粤菜最好吃?等等。
  • 这是我的利用爬虫所作到的事情,而公司,一样能够利用爬虫来实现巨大的商业价值。
  • 好比你所熟悉的搜索引擎——百度和谷歌,它们的核心技术之一也是爬虫,并且是超级爬虫。

1559082538356

1559082607322

  • 百度这家公司会源源不断地把千千万万个网站爬取下来,存储在本身的服务器上。
  • 你在百度搜索的本质就是在它的服务器上搜索信息,
  • 你搜索到的结果是一些超连接,在超连接跳转以后你就能够访问其它网站了

浏览器工做原理

1559082753633

1559082768483

1559082795780

  • 当服务器把数据响应给浏览器以后,浏览器并不会直接把数据丢给你。
  • 由于这些数据是用计算机的语言写的,浏览器还要把这些数据翻译成你能看得懂的样子,
  • 这是浏览器作的另外一项工做【解析数据】。

爬虫的工做原理

1559082874334

1559082914086

1559082935388

状态码

  • 不是每一次请求就必定能成功, 咱们须要判断请求的结果

1559083486518

1559083688701

  • 301—永久移动。被请求的资源已被永久移动位置;
  • 302—请求的资源如今临时从不一样的 URI 响应请求;
  • 305—使用代理。被请求的资源必须经过指定的代理才能被访问;
  • 307—临时跳转。被请求的资源在临时从不一样的URL响应请求;
  • 400—错误请求;
  • 402—须要付款。该状态码是为了未来可能的需求而预留的,用于一些数字货币或者是微支付;
  • 403—禁止访问。服务器已经理解请求,可是拒绝执行它;
  • 404—找不到对象。请求失败,资源不存在;
  • 406—不可接受的。请求的资源的内容特性没法知足请求头中的条件,于是没法生成响应实体;

1559083708684

  • 408—请求超时;
  • 409—冲突。因为和被请求的资源的当前状态之间存在冲突,请求没法完成;
  • 410—遗失的。被请求的资源在服务器上已经再也不可用,并且没有任何已知的转发地址;
  • 413—响应实体太大。服务器拒绝处理当前请求,请求超过服务器所能处理和容许的最大值。
  • 417—指望失败。在请求头 Expect 中指定的预期内容没法被服务器知足;
  • 418—我是一个茶壶。超文本咖啡罐控制协议,可是并无被实际的HTTP服务器实现;
  • 420—方法失效。
  • 422—不可处理的实体。请求格式正确,可是因为含有语义错误,没法响应;
  • 500—服务器内部错误。服务器遇到了一个不曾预料的情况,致使了它没法完成对请求的处理;

下一节

相关文章
相关标签/搜索