Python爬虫教程知识点总结
迪丽瓦拉
2025-05-31 17:55:55
0

一、为什么使用Python进行网络爬虫?
由于Python语言十分简洁,使用起来又非常简单、易学,通过Python 进行编写就像使用英语进行写作一样。另外Python 在使用中十分方便,并不需要IDE,而仅仅通过sublime text 就能够对大部分的中小应用进行开发;除此之外Python 爬虫的框架功能十分强大,它的框架能够对网络数据进行爬取,还能对结构性的数据进行提取,经常用在数据的挖掘、历史数据的存储和信息的处理等程序内;Python网络的支持库和html的解析器功能十分强大,借助网络的支持库通过较少代码的编写,就能够进行网页的下载,且通过网页的解析库就能够对网页内各标签进行解析,和正则的表达式进行结合,

十分便于进行网页内容的抓取。所以Python在网络爬虫网面有很大的优势。

二、判断网站数据是否支持爬取
几乎每个网站都有一个名为 robots.txt 的文档,当然也有部分网站没有设定robots.txt。如果网站没有设定 robots.txt 就可以通过网络爬虫获取没有口令加密的数据,也就是这个网站所有页面数据都可以爬取。当然如果网站有 robots.txt 文档,就要判断是否有禁止访客获取的数据。
在这里插入图片描述
三、requests 库抓取网站数据
1.如何安装 requests 库

1.首先在 PyCharm 中安装 requests 库

2.打开 PyCharm,单击“File”(文件)菜单

3.选择“Setting for New Projects…”命令
在这里插入图片描述
4.选择“Project Interpreter”(项目编译器)命令

5.确认当前选择的编译器,然后单击右上角的加号。
在这里插入图片描述
6.在搜索框输入:requests(注意,一定要输入完整,不然容易出错),然后单击左下角的“Install Package”(安装库)按钮。
在这里插入图片描述
安装完成后,会在 Install Package 上显示“Package‘requests’ installed successfully”(库的请求已成功安装),如果安装不成功将会显示提示信息。
在这里插入图片描述
四、爬虫的基本原理
网页请求的过程分为两个环节:

Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。

Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求

网页请求的方式也分为两种:

GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。

POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。

所以,在写爬虫前要先确定向谁发送请求,用什么方式发送。
五、使用 GET 方式抓取数据
复制任意一条首页首条新闻的标题,在源码页面按【Ctrl+F】组合键调出搜索框,将标题粘贴在搜索框中,然后按【Enter】键。

标题可以在源码中搜索到,请求对象是www.cntour.cn,请求方式是GET(所有在源码中的数据请求方式都是GET),如图 9所示。

QQ截图20201016141313.png

确定好请求对象和方式后,在 PyCharm 中输入以下代码:

import requests    #导入requests包
url = 'http://www.cntour.cn/'
strhtml = requests.get(url)    #Get方式获取网页数据
print(strhtml.text)
1234

import requests #导入requests包
url = ‘http://www.cntour.cn/’
strhtml = requests.get(url) #Get方式获取网页数据
print(strhtml.text)
1234

在这里插入图片描述

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...