python爬虫——入门

server/2024/9/20 7:20:22/ 标签: python, 爬虫, 开发语言

一、概念

万维网之所以叫做网,是因为通过点击超链接或者进入URL,我们可以访问任何网络资源,从一个网页跳转到另一个网页,所有的相关资源连接在一起,就形成了一个网。

爬虫呢,听名字就让人想起来一个黏糊糊的蠕虫或者蜘蛛等,实际上,爬虫本质上即使一个程序蜘蛛,按照一定的规则,自动沿着这张网抓取上面的信息。

用处:

  • 收集目标信息:比如爬取招聘网站,找出给python工程师的薪资排在前10的本地公司,你可以用它来比较价格等。(个人)
  • 舆情监控
  • 市场调研
  • 搜索引擎

二、安装。

python直接去官网下载即可,python编辑器我这里用的是pycharm软件。

安装教程直接百度即可。

三、爬虫流程

我们都听说过,爬虫学的好,牢饭吃的早。那么我们应该怎么正确利用爬虫技术呢?哪些事情是我们能做的,哪些是我们不能做的。

那接下来我们就来聊一聊爬虫的流程大概是什么样子的!

  1. 获取网页内容:我们会通过代码给一个网站服务器发送请求,它会返回给我们网页上的内容。在我们平时用浏览器访问网页内容时,本质上也是给网站服务器发送一个请求,服务器返回网页内容。(只不过,浏览器还会进行一个额外的步骤,就是把内容渲染成直观优美的页面给用户进行展现,而用程序获得的内容更加原始)
  2. 解析网页内容:在上一个步骤,我们可以获取整个网页的内容,那太多太复杂了,而我们其实根本不想要看到这么多信息,这个时候我们需要进行筛选。比如去tb买东西,我们可能只关注商品种类和价格,对于活动信息或者用户评价等内容不感兴趣。所以需要对内容进行解析,把想要的数据提取出来。
  3. 储存或分析数据:取决于具体需求。比如你一开始是为了收集数据集,那这一步骤可能就是把数据存储进数据库;如果你一开始是为了分析数据趋势,那这一步骤可能就是把数据做成可视化图表;如果你一开始是为了做舆情监控,这一步骤可能就是用AI做文本情绪分析。

爬虫大概的流程讲完了,那么我们来讲讲怎么避免吃牢饭!!!

为了能够成为社会主义好青年,请你务必遵守一些规则:

  • 不要爬取共鸣隐私数据
  • 不要爬取受著作权保护的内容
  • 不要爬取国家事务、国防建设、尖端科学技术领域的计算机系统等

除了以上红线不能跨过以外,还有一些事情是需要我们注意的。

  • 爬虫的请求数量和频率不能过高,否则可能无异于DDos攻击。(DDos攻击就是通过给服务器发送海量高频的请求,让网站资源被耗尽,导致其无法服务其他正常用户)
  • 如果网站明显做出了反爬限制,比如有些内容要登陆后才可查看,或是有验证码等限制机器的机制,就不要去强行突破了。
  • 你可以通过查看网站的robots.txt文件了解可爬取的网页路径范围,这个文件会知名哪些网页允许被爬取,哪些不允许被爬取,有些还会专门列出针对搜索引擎爬虫的许可范围。

四、需要学习哪些内容呢?

(1)在获取网页内容方面

  • HTTP请求,来获得网页内容
  • python的Requests库,通过它就可以用python代码简单优雅地发送HTTP请求。

(2)在解析网页内容方面

  • HTML网页结构(因为发送请求后获得的内容,很多情况下回事HTML格式)
  • python的Beautiful Soup库,帮助解析获取到的HTML内容,提取信息

(3)在储存或分析数据方面

学什么,根据具体需求而异。


http://www.ppmy.cn/server/104964.html

相关文章

[图解]片段16 ESS状态机图-SysMLEA建模住宅安全系统

1 00:00:00,220 --> 00:00:03,580 然后我们看初始这里 2 00:00:03,590 --> 00:00:09,500 有一个指向它的一个迁移的事件 3 00:00:09,710 --> 00:00:13,730 站点可用,这个实际上是错误的 4 00:00:14,020 --> 00:00:15,050 这不是事件 5 00:00:15,900…

【达梦数据库】锁超时的处理方法-错误码[-6407]

【达梦数据库】锁超时的处理方法-错误码[-6407] 链接: https://eco.dameng.com/document/dm/zh-cn/faq/faq-errorcode.html#[-6407]%20%E9%94%81%E8%B6%85%E6%97%B6

《AI办公类工具PPT系列之四——ChatPPT》

一.简介 官网:ChatPPT_AI一键对话生成PPT_智能排版美化-必优科技智能PPT ChatPPT是一款基于人工智能技术的PPT制作工具,它通过对话式AI创作,为用户提供快速生成和美化PPT的全流程服务。 二.功能介绍 1、一键生成PPT 主题输入:用户只需输入PPT的主题,ChatPPT即可根据主…

科技在日常生活中的革新

在科技日新月异的今天,‌我们的生活正经历着前所未有的变革。‌从智能家居到可穿戴设备,‌科技已经渗透到我们生活的每一个角落,‌深刻地影响着我们的生活方式和社会经济的发展。‌ 智能家居系统的出现,‌无疑是科技改变生活的典…

鸿蒙内核源码分析(原子操作篇) | 谁在为原子操作保驾护航

基本概念 在支持多任务的操作系统中,修改一块内存区域的数据需要“读取-修改-写入”三个步骤。然而同一内存区域的数据可能同时被多个任务访问,如果在修改数据的过程中被其他任务打断,就会造成该操作的执行结果无法预知。 使用开关中断的方…

SpringCache操作Redis

目录 (一)什么是SpringCache? (二)解决了什么问题? (三)如何使用SpringCache? (一)什么是SpringCache? SpringCache是一个由Spring提供的缓存框架&…

Git 版本控制操作

1. 版本回退 Git 能够管理⽂件的历史版本,这是版本控制器重要的能⼒。如果有⼀天你发现之前前的⼯作做的出现了很⼤的问题,需要在某个特定的历史版本重新开始,这个时候,就需要版本回退的功能了。 执⾏ git reset 命令⽤于回退版…

ACCESS 工具注入实战 凡诺靶场

简介 Access数据库注入攻击是一种常见的网络安全,通过注入SQL代码来获取未授权的数据访问权限。这种攻击利用了应用程序与数据库之间的交互漏洞,攻击者通过输入特定的SQL代码片段来操纵数据库查询,从而绕过应用程序的安全机制,获取…

Go Convey测试框架入门(go convey gomonkey)

Go Convey测试框架入门 介绍 GoConvey是一款针对Golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,并支持很多 Web 界面特性。 Golang虽然自带了单元测试功能,并且在GoConvey框架诞生之前也出现了许多第三方测…

第132天:内网安全-横向移动Exchange服务有账户CVE漏洞无账户口令爆破

域控环境0day.org 通过网盘分享的文件:131-0day.org内网域环境镜像文件 链接: https://pan.baidu.com/s/1rf_gHVJSNG8PEsiSr7DFSw?pwdr5jc 提取码: r5jc 给win7设置一张nat网卡,其他各个主机都设置为vm2 案例一: 域横向移动-内网服务-Exchan…

[kaggle竞赛] 毒蘑菇的二元预测

毒蘑菇的二元预测 您提供了很多关于不同二元分类任务的资源和链接,看起来这些都是Kaggle竞赛中的参考资料和高分解决方案。为了帮助您更好地利用这些资源,这里是一些关键点的总结: Playground Season 4 Episode 8 主要关注的竞赛: 使用银行…

Java ArrayList和LinkedList

ArrayList ArrayList是Java中最常用的数据结构之一,它是一个动态数组的实现,允许你在程序中存储和管理一个可变大小的对象列表,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 基本概念 Arra…

Git(面试篇)

目录 配置操作 全局配置 当前仓库配置 查看global配置 查看当前仓库配置 删除global配置 删除当前仓库配置 本地操作 查看变更情况 将当前目录及其子目录下所有变更都加入到暂存区 将仓库内所有变更都加入到暂存区 将指定文件添加到暂存区 比较工作区和暂存区的所有…

JavaScript学习文档(5):为什么需要函数、函数使用、函数传参、函数返回值、作用域、匿名函数、逻辑中断

目录 一、为什么需要函数 1、函数 2、说明 二、函数使用 1、函数的声明语法 2、函数名命名规范 3、函数调用语法 4、函数体 5、函数案例(数字求和) (1)计算1-100之间所有数字的和 三、函数传参 1、声明语法 2、调用语…

【Redis】Redis数据结构——List列表

List列表 命令lpushlpushxrpushrpushxlrangelpoprpoplindexlinsertllen 阻塞版本命令blpopbrpop 命令⼩结内部编码使用场景消息队列分频道的消息队列微博 Timeline 列表类型是⽤来存储多个有序的字符串,如图 2-19 所⽰,a、b、c、d、e 五个元素从左到右组…

Java 使用线程池和CountDownLatch分批插入或者更新数据

需求:在开发业务报表时,需要从MySQL数据库读取数据后进行操作,然后写入数据库,使用定时任务跑批。 分析:①兼顾性能,② MySQL没有Oracle那么方便、强大的存储过程。综上所述,使用线程池以分批提…

python dash框架 油气田可视化软件设计文档

V1.1:机器学习框架(神经网络) 时间范围优化 表格布局优化 添加前端设计元素布局 V1.0:基础布局和对应计算函数 要求 首先第一部分是通过神经网络预测天然气流量,其中输入开始时间和截止时间是为了显示这一段时间内的天然气流量预测结果 第二部分&…

前端实现首次访问,后续从本地访问

在前端实现将PDF文件下载到用户的本地磁盘&#xff0c;并在后续加载时使用本地文件&#xff0c;而不是重新从服务器下载&#xff0c;可以通过以下步骤实现&#xff1a; 1. **使用<a>标签的download属性**&#xff1a;当用户首次点击下载PDF时&#xff0c;通过<a>标…

私有仓库tomcat镜像构建

通过Tomcat安装包构建镜像 Dockerfile # 使用官方的OpenJDK镜像作为基础镜像 FROM xa-test.harbor.com:55555/idaas/openjdk:8u232 ENV CATALINA_HOME/usr/local/tomcat ENV PATH$CATALINA_HOME/bin:$PATH # 将Tomcat的压缩包复制到镜像中并解压到指定目录 COPY apache-tomcat…

Apollo9.0 PNC源码学习之Planning模块—— Lattice规划(六):横纵向运动轨迹评估

参考文章: (1)Apollo6.0代码Lattice算法详解——Part6:轨迹评估及碰撞检测对象构建 (2)自动驾驶规划理论与实践Lattice算法详解 0 前言 横纵向运动轨迹的评估,主要通过构建定点巡航和定点停车两个场景下,对纵向运动参考速度、加速度、加加速度的大小进行检验和过滤,然…