Python爬虫入门有哪些基础知识点


Posted in Python onJune 02, 2020

1、什么是爬虫

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

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

2、浏览网页的过程

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

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

3、URL的含义

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

URL的格式由三部分组成:

①第一部分是协议(或称为服务方式)。

②第二部分是存有该资源的主机IP地址(有时也包括端口号)。

③第三部分是主机资源的具体地址,如目录和文件名等。

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

4、环境的配置

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

知识点补充:

什么是爬虫和爬虫的基本逻辑

“爬虫”是一种形象的说法。互联网比喻成一张大网,爬虫是一个程序或脚本在这种大网上爬走。碰到虫子(资源),若是所需的资源就获取或下载下来。这个资源通常是网页、文件等等。可以通过该资源里面的url链接,顺藤摸瓜继续爬取这些链接的资源。

你也可以把爬虫当作模拟我们正常上网。打开网页并分析网页的内容获取我们想要的东西。

那么,这里就涉及到http传输协议等相关的知识。

我们通常打开一个网页,基本上都是打开一个Url链接即可。在这个过程当中,实际上发生了很多事情。

打开一个Url链接,浏览器自动向Url链接的服务器发送一个请求(Request),告诉服务器说我需要访问这个Url链接的内容,请返回数据给我。服务器就处理该请求,响应该请求并返回结果给浏览器。

既然爬虫需要模拟该过程。根据http协议,爬虫需要构造一个请求(Request),发到请求到目标服务器(通常是Url链接)。然后等待服务器的响应(Response)。

所有相关的数据都在这个响应结果当中,这个就是爬虫实现的基本逻辑。

以上就是Python爬虫入门有哪些基础知识点的详细内容,更多关于Python爬虫入门的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
pygame播放音乐的方法
May 19 Python
python 默认参数问题的陷阱
Feb 29 Python
Python简单生成8位随机密码的方法
May 24 Python
Python虚拟环境项目实例
Nov 20 Python
python中(str,list,tuple)基础知识汇总
Feb 20 Python
Django+zTree构建组织架构树的方法
Aug 21 Python
Python常用数据类型之间的转换总结
Sep 06 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
Python中的套接字编程是什么?
Jun 21 Python
Python实现进度条和时间预估的示例代码
Jun 02 #Python
python爬虫容易学吗
Jun 02 #Python
基于Python词云分析政府工作报告关键词
Jun 02 #Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 #Python
如何利用python web框架做文件流下载的实现示例
Jun 02 #Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 #Python
Java多线程实现四种方式原理详解
Jun 02 #Python
You might like
在PHP中利用XML技术构造远程服务(下)
2006/10/09 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
分享3个php获取日历的函数
2015/09/25 PHP
php数据访问之查询关键字
2016/05/09 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
vue组件学习教程
2017/09/09 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
python实现简单温度转换的方法
2015/03/13 Python
python实现神经网络感知器算法
2017/12/20 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
django基于restframework的CBV封装详解
2019/08/08 Python
numpy.array 操作使用简单总结
2019/11/08 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
《山谷中的谜底》教学反思
2014/04/26 职场文书
物流管理专业自荐信
2014/06/23 职场文书
新员工入职欢迎词
2015/01/23 职场文书
工会文体活动总结
2015/05/07 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js