请选择 进入手机版 | 继续访问电脑版

苏苏网赚论坛

 找回密码
 立即注册
查看: 624|回复: 0

零基础学Python之初识网络爬虫

[复制链接]
发表于 2019-5-24 11:04:06 | 显示全部楼层 |阅读模式
零基础学Python之初识网络爬虫

今天我们先从网络爬虫的定义、与浏览器的相似之处和网络请求等基础内容入手。

1、网络爬虫网络爬虫的定义

网络爬虫又被称为网页蜘蛛,也可以称呼为网络机器人,一种按照一定的规则,自动抓取网页信息的程序或者脚本,也是搜索引擎的重要组成部分。
传统的爬虫一个或者几个初始网页的链接(url)开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。

2、网络爬虫网络爬虫与浏览器有什么相近的地方

网络爬虫的抓取过程可以理解为模拟浏览器操作的过程。浏览器的功能就是向服务器,在浏览器窗口中展示被网民所选择的网络资源。这里指得资源一般是指HTML 文档,也可以是PDF、图片或其他的类型。

资源的位置由用户使用URI(统一资源标示符)指定。

浏览器解释并显示HTML文件的方式是在HTML和CSS规范中指定的。这些规范由网络标准化组织W3C(万维网联盟)进行维护。

3、网络爬虫网络爬虫抓什么

一般来讲,抓取的内容主要来源于网页,目前,随着这几年移动互联网的发展,越来越多信息来源于移动互联网App、H5等,所以爬虫就不止局限于一定要抓取解析网页,还有移动互联网app、H5等的网络请求进行抓取

对网络爬虫而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值。

4、网络爬虫了解网络请求

网络爬虫以HTTP、HTTPS请求为主,读取网页内容,提取有用的价值,内容一般分为两部分,非结构化的文本,或结构化的文本。

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

4.1 HTTP请求的方法

HTTP/1.1协议中共定义了八种方法(有时也叫动作)来表明Request-URI指定的资源的不同操作方式:

OPTIONS

返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。

HEAD

向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

GET

向特定的资源发出请求。注意:GET方法不应当被用于产生副作用的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。

POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

PUT

向指定资源位置上传其最新内容。

DELETE

请求服务器删除Request-URI所标识的资源。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

CONNECT

HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

4.2 HTTP响应的代码

服务器程序响应的第一行叫状态行。状态行以HTTP版本号开始,后面跟着3位数字表示响应代码,最后是易读的响应短语。根据第一位可以把响应分成5类:

图1、HTTP响应代码

4.3实例演示

使用浏览器去访问, 在浏览器中打开开发人员工具(F12),F12 开发人员工具是可帮助生成和调试网页的一套工具。按下F12按钮调出开发者工具界面,点击第一行Network选项卡,可见下方以详细信息的方式列举出了网页中的元素。

找到我们请求的链接,响应消息的状态行是:HTTP/1.1 200 OK,其中HTTP/1.1对应版本号、200对应response-code;如下图2所示

图2、GET / HTTP/1.1请求的响应消息

我们利用python程序就行爬虫的时候,很可能会遇到IP的限制而无法进行下去,可以试试,使用河马代理IP。
热帖推荐
回复

使用道具 举报

广告合作|最大的网赚客中文交流社区!十年老站!

GMT+8, 2024-4-19 09:19 , Processed in 0.124800 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.1 VIP版

© 2012-2022 苏苏网赚论坛 版权所有 | 10年老品牌

快速回复 返回顶部 返回列表