首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python爬虫修炼——初学!

本文阅读时长大约4分钟

最近入手了《python3网络爬虫开发实战》, 大概看了看,很喜欢,后面会在不影响主线任务的情况下对研究这本书并做好记录。

本书介绍

本书是由北航硕士『崔庆才』所著,豆瓣评分高达9.1分,详细介绍了如何使用各种姿势进行数据爬取。

内容大纲

第一章:开发环境配置

这章介绍了这本书所涉及的所有环境的配置详细流程,兼顾了 Windows、linux、Mac三大平台,只需要在使用时查阅即可。

本章略过。

第二章:爬虫基础

HTTP 基本原理

URI 和 URL:

URI 的全称为Uniform Resource Identifier,即统一资源标志符。

URL 的全称为Uniform Resource Locator,即统一资源定位符。

访问网站时的链接是一个 URL,也是一个 URI;即有这样一个目标资源,我们用 URL/URI 来唯一指定了它的访问方式,这其中包括了访问协议 HTTPS。

URL 是 URI 的子集,也就是说每个 URL 都是 URI,但不是每个 URI 都是 URL。

超文本:

超文本的英文名是 hypertext ,我们在浏览器里看到的网页就是超文本解析而成的,其网页源代码是一系列 HTML 代码,里面包含了一系列标签。浏览器解析这些标签后,便形成了我们平常看到的网页,而网页的源代码 HTML 就可以称作超文本。

HTTP 和 HTTPS:

HTTP 的全称是Hyper Text Transfer Protocol,中文名叫超文本传输协议。HTTP 协议是用于从网络传输超文本数据到本地浏览器的传送协议,它能保证高效而准确的传送超文本文档。目前广泛使用的是 HTTP 1.1 版本。

HTTPS 是全称是Hypertext Transfer Protocol over Secure Socker Layer,是以安全为目标的 HTTP 通道,简单讲就是 HTTP 的安全版,即 HTTP 下加入 SSL 层, 简称 HTTPS。

HTTP 请求过程:

我们在浏览器中输入了一个 URL ,回车之后便会在浏览器中观察到页面内容。实际上,这个过程是浏览器向网站所在的服务器发送了一个请求,网站服务器接收到了这个请求之后进行处理和解析,然后返回对应的响应,接着传回给浏览器,响应了包含了页面的源代码等内容,浏览器再对其进行解析,便将网页呈现了出来。

请求:

请求,由客户端向服务器发出,可以分为 4 部分内容:请求方法(request method), 请求的网址(request url),请求头(request headers), 请求体(request body).

请求方法

常见的请求方法有: GET 和 POST

GET 和 POST 请求方法有如下区别:

- GET 请求中的参数包含在 URL 里面,数据可以在 URL 中看到,而 POST 请求的 URL 不会包含这些数据,数据都是通过表单形式传输的,会包含在请求体中。

- GET 请求提交的数据最多只有1024 字节,而 POST 没有限制。

2.请求的网址

即统一资源定位符 URL ,它可以唯一确定我们想请求的资源。

3.请求头

用来说明服务器要使用的附加信息

4.请求体

请求体一般承载的内容是 POST 请求中的表单数据,而对于 GET 请求,请求体为空。

响应:

响应,由服务器返回给客户端,可以分为三部分:响应状态码(response status code)、响应头(response headers)、响应体(response body)

响应状态码

响应状态码表示服务器的响应状态,100 表示继续,200 表示正常,300 表示重定向,400 表示客户端错误,500 表示服务器错误。

2.响应头

响应头中包含了服务器对请求的应答信息。

3.响应体

最重要的是响应体的内容,响应的正文都在响应体中,比如请求网页时,响应体就是网页的 HTML 代码;请求一张图片时,它的响应体就是图片的二进制数据。

在做爬虫时,我们主要通过响应体得到网页的源代码、JSON 数据等,然后从中做相应内容的提取。

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180906G001X900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券