[关闭]
@1007477689 2020-04-08T13:42:56.000000Z 字数 2698 阅读 530

Python 爬虫

Python 爬虫


前言

随着网络技术的发展,数据越来越变的值钱,诸多公司都在探究如何获取更多更有用的数据。万维网是大量信息的载体,如何有效提取这些有效且公开的数据并利用这些信息变成了一个巨大的挑战。

从而爬虫工程师、数据分析师、大数据工程师的岗位也越来越受欢迎。爬虫则是 Python 的一个应用领域,Python 还有诸多应用领域,如 Web 全栈开发、图形界面开发、大数据、人工智能、系统网络运维、云计算系统管理……

Python 基础知识学习途径

学习好 Python 基础对于学习 Python 爬虫具有事半功倍的效果。就像生活中的学英语一样,一个对英语一概不通的人听完别人读英语,自己也能读出来,但是要把英语读好,好好学习音标是非常有必要的。

然而 Python 的基础知识如果要系统学习,内容也较多,那么我们到底需要学习到什么程度,对于学习 Python 爬虫才是足够的呢?这里,我对学习爬虫需要掌握的 Python 基础知识进行了筛选,过滤掉了一些不必要的知识。为您提供了如下学习链接:

什么是爬虫?

网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更常被称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,从中获取大量的信息。

爬虫的作用主要有以下几点:

爬虫基础知识补充

在开始学习爬虫知识之前,你需要了解一些网页的基本知识:

1.网址的构成

网站的网址一般由协议+域名+加页面构成,如:https://auction.jd.com/home.html,域名一般是固定的不会改变,能改变的则是页面(home.html),所以在爬虫的过程中我们所需要解析的就是自己编写的不同页面的URL,只有解析出各个不同页面的 URL 入口,我们才能开始爬虫(爬取网页)。

2.网页的基本构成

一般来说一个网页的页面主要由 HTML、CSS、JavaScript 构成,这里我们可以打开任意一个网页右击查看网页源代码。

3.常见的加载模式

学习爬虫有必要了解网页常见的两种加载模式(后续爬虫过程中,经常需要用到)。

4.网页的请求过程

打开浏览器,地址栏输 baidu.com,按下回车,到用户看到内容,主要经历了如下步骤:

  1. 开始进行域名解析。首先浏览器自身搜 DNS 缓存,搜 baidu.com 有没有缓存有没有过期,如果过期就结束,其次浏览器会搜索操作系统自身的 DNS 缓存并读取本地的 host 文件,浏览器发起一个 DNS 系统调用。
  2. (2)浏览器获得 baidu.com 域名对应的 IP 地址后,发起 HTTP 三次握手。
  3. 建立 TCP/IP,浏览器就可以向服务器发送 HTTP 请求。TCP/IP 链接建立起来后,浏览器就可以向服务器发送 HTTP 请求。服务器接收到请求之后就会对请求做相应的处理,并将结果返回给浏览器。
  4. 浏览器拿到资源之后对页面进行加载、解析、渲染,最后呈现给用户。

5.谷歌浏览器之 HTTP 请求分析

打开 Chrome 开发工具(这里我们以打开百度网址为例),如下图:

Elements(元素面板)

使用“元素”面板可以通过自由操纵 DOM 和 CSS 来重演您网站的布局和设计。

Console(控制台面板)

在开发期间,可以使用控制台面板记录诊断信息,或者使用它作为 shell,在页面上与 JavaScript 交互。

Sources(源代码面板)

在源代码面板中设置断点来调试 JavaScript ,或者通过 Workspaces(工作区)连接本地文件来使用开发者工具的实时编辑器。

Network(网络面板)

从发起网页页面请求 Request 后得到的各个请求资源信息(包括状态、资源类型、大小、所用时间等),并可以根据这个进行网络性能优化。

二、爬虫基础了解

1.什么是爬虫

爬虫,即“网络爬虫”,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯。如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。

比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。

2.浏览网页的过程

在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如: http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过 DNS,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTMLJSCSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。

因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。

3.URL的含义

URL,即“统一资源定位符”,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

URL的格式由三部分组成:

  1. 第一部分是协议(或称为服务方式)。
  2. 第二部分是存有该资源的主机IP地址(有时也包括端口号)
  3. 第三部分是资源的具体地址,如目录和文件名等。

爬虫爬取数据时必须要有一个目标的“URL”才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。

4. 环境的配置

学习Python,当然少不了环境的配置,最初我用的是Notepad++,不过发现它的提示功能实在是太弱了,于是,在Windows下我用了 PyCharm,在Linux下我用了Eclipse for Python,另外还有几款比较优秀的IDE,大家可以参考这篇文章 学习Python推荐的IDE 。好的是前进的,希望大家可以找到适合自己的IDE

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注