第一篇:爬虫初识 - Go语言中文社区

第一篇:爬虫初识


认识爬虫

爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。通俗点说就是请求网站并提取数据的自动化程序。

爬虫基本流程

  • 向服务器发起请求
  • 获取服务器的响应内容
  • 解析内容
  • 保存数据

请求与响应

我们要获取服务器的数据,那么我们必须先向服务器发送请求信息。假设服务器有香蕉这种水果的信息,而我们需要香蕉的信息,那么我们就要写一封申请书告诉服务器,我们要香蕉的信息。接下来,如果服务器接收到我们的申请书,就向我们发回一封回信,告诉我们关于香蕉的信息。这个过程中,申请书就是Request——请求,服务器发回的回信就是Response——响应。申请书和回信不仅只有正文,也有信封,邮票之类的。相同地,Request和Response也包含着很多东西。我们可以简单叙述一下。
这里写图片描述

Request

  1. 请求方式:常用的有getpost
  2. 请求URL:简单地来说就是网站网址;
  3. 请求头
  4. 请求体:get一般不带,post会携带

Response

  1. 响应状态:网站的响应状态,正常访问是200,常见的404错误就是其中的一种;
  2. 响应头
  3. 响应体:主要部分,告诉我们香蕉是什么;

能抓取什么数据

  1. 网页文本
  2. 图片
  3. 视频
  4. 其他数据

网上的数据只要你想抓取,又可以解析,就可以获取到了。图片、视频主要是以二进制的方式进行读写。

怎么解析

什么是解析呢?我们从服务器获取到的数据,一般是一些HTML文件,服务器一般不会只给你你想要的有效数据(还包含一下其他杂乱数据),要获取里面的有效数据,就必须用适当的工具进行清洗,这个过程就是解析了。

有哪些什么解析的方式?

  1. 直接处理
  2. JSON解析
  3. 正则表达式
  4. BeautifulSoup库解析
  5. PyQuery
  6. XPath
  7. ……

我们会按获取到的数据文件来选择以上几种解析方式。

怎么解决JS渲染问题

现在很多网站都是动态网站,页面数据的展现方式和静态网站不一样,动态网站的数据没有像静态网站那么暴露,而是经过javascript渲染过的,我们可以通过一下方式尝试解决问题。

  1. 分析Ajax请求
  2. Selenium/webDrive
  3. Splash库模拟javascript渲染
  4. pyv8,Ghost.py

保存数据

爬取回来的数据进过解析可以获得我们需要的干净数据,我们就利用工具把它保存起来。有一下几种保存方式:
1. 文本
2. 关系型数据库
3. 非关系型数据库
4. 二进制文件(图片、视频)

以上便是爬虫的基本流程了,预要看如何运用python库向服务器发送请求,请看下回分解。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ZER021/article/details/80022949
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-13 23:01:35
  • 阅读 ( 740 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢