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使用电子邮件模块smtplib的方法
Aug 28 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 Python
Python实现的凯撒密码算法示例
Apr 12 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
Python中Selenium库使用教程详解
Jul 23 Python
matplotlib.pyplot.plot()参数使用详解
Jul 28 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
Python OpenCV快速入门教程
Apr 17 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 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排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
Django发送邮件功能实例详解
2019/09/02 Python
python list多级排序知识点总结
2019/10/23 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
劳动模范事迹材料
2014/01/19 职场文书
市场拓展计划书
2014/05/03 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
档案管理员岗位职责
2015/02/12 职场文书
医生个人年终总结
2015/02/28 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL