【1.1】爬虫基本原理讲解

1.request和response

  request:

    (1)请求方式,主要有GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS等。

    (2)请求URL,URL全称统一资源定位符,如一个网页文档,一张图片,一个视频等都可以用URL唯一来确定。

    (3)请求头,包含请求时的头部信息,如User-Agent、Host、Cookies等信息。

    (4)请求体,请求时额外携带的数据,如表单提交时的表单数据。

  response:

    (1)响应状态,有多种响应状态,如200代表成功、301跳转、404找不到页面、502服务器错误。

    (2)响应头,如内容类型、内容长度、服务器信息、设置Cookie等等。

    (3)响应体,最主要的部分,包含了请求资源的内容、如网页HTML、图片二进制数据等。

2.能抓怎样的数据?

  (1)网页文本,如HTML文档、Json格式文本。

  (2)图片,获取到的是二进制文件,保存为图片格式。

    爬取,百度的logo

    

    

    

  (3)视频,同为二进制文件,保存为视频即可。

  (4)其他,只要是能请求到的,都能获取。

3.解析方式

  (1)直接处理。

  (2)Json解析。

  (3)正则表达式。

  (4)BeautifulSoup。

  (5)PyQuery。

  (6)XPath。

4.怎么解决JavaScript渲染问题?

  (1)分析Ajax请求。

  (2)Selenium/WebDriver,模拟一个浏览器,访问网页。

  (3)Splash。

  (4)PyV8、Ghost.py。

5.怎样保存数据?

  (1)文本,纯文本、Json、Xml等。

  (2)关系型数据库,如MySql,Oracle、SQL Server等具有结构化表结构形式存储。

  (3)非关系型数据库,如MongoDB、Redis等Key-Value形式存储。

  (4)二进制文件,如图片、视频、音频等等直接保存成特定格式即可。

原文地址:https://www.cnblogs.com/zydeboke/p/11511470.html