在学习爬虫前的准备

news2024/11/20 20:19:52

1. 写一个爬虫程序需要分几步

  1. 获取网页内容。

    我们会通过代码给一个网站服务器发送请求,它会返回给我们网页上的内容。

    在这里插入图片描述

    在我们平时使用浏览器访问服务器内容是,本质上也是向服务器发送一个请求,然后服务器返回网页上的内容。只不过浏览器还会进行一个额外的步骤,就是把内容渲染成直观优美的页面,方便给用户展现。而用程序获取的内容,因为没有经过渲染,所以我们看到的内容更加原始。

  2. 解析网页内容。

    我们在上一步可以获取到整个网页的内容,由于内容过于繁杂,可能有许多数据是我们并不想要的。比如我们在一个电商平台,我们可能只对商品名和价格感兴趣,至于活动信息和用户评论等信息我们都不需要,所以需要对内容进行解析,把想要的内容提取出来。

  3. 储存或分析数据。

    这一步主要取决于具体需求,比如我们一开始是想要获取数据集,所以这一步骤可能就是要把数据储存进数据库。如果我们一开始是为了分析数据,那么这一步骤就是把数据做成可视化图表。如果一开始是为了做舆情监控,那么这一步骤就可能是用AI做文本情绪分析。

以上步骤使用于爬取一个网页的情况,当然我们也可以给一串网址,让程序一个个去爬取,或者让程序以某个网址为根,顺着把那个网页上链接指向的地址也爬取一遍。

2. 爬虫注意事项

俗话说爬虫学的好,牢饭吃的早。其实技术本身是无罪的,重要的是如何去使用这项技术。在爬虫过程中,我们必须遵守一些规则:

  1. 不要爬取公民隐私数据;
  2. 不要爬取受著作权保护的内容;
  3. 不要爬取国家事务、国防建设、尖端科学技术领域的计算机系统等。

除了上述红线之外,我们还必须确保自己写的爬虫是一只温和善良的虫:

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

文章整理自:这绝对是全B站最用心(没有之一)的Python+爬虫公开课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1370834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark八:Spark性能优化

Spark性能调优 Spark调优的方法,包括RDD使用、文件读取,partition 学习资料:https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ 一、Spark调优之RDD算子调优 1.1 RDD复用 在对RDD进行计算时,要避免相同的算子和计算逻辑下对…

高防服务器、高防 IP 和高防 CDN 之间有什么区别?

网络运营人员最头痛的是什么? 网络攻击无疑名列前茅。一旦企业遭受网络攻击,所面临的损失可能是无法估量的。那么,如何有效地抵御网络攻击呢? 高防 IP、高防 CDN 和高防服务器是当前主流的防御手段。那何为“高防”呢&#xff1…

unity小程序websocket:nginx配置https (wss)转http (ws)及其他问题解决

目录 前言 实际运用场景 处理流程如下 nginx配置ssl和wss 配置过程中遇到的问题 1、无法连接服务器 2、通过IP可以访问,域名却不行 问题描述 解决 3、如何判断该域名是否备案了 前言 为了服务器网络的通用性,我们在实现移动端的游戏转微信小程序…

植物大战僵尸小游戏抖音快手直播搭建弹幕插件教程

植物大战弹幕插件功能介绍 该插件由梦歌技术部团队支持开发,本插件软件通过监测抖音弹幕信息,获取礼物数据触发脚本插件对应的功能; 功能目前基本上已经完善,后期功能会陆续上线支持更新,全新的脚本监测稳定方便实用…

2024年1月9日学习总结

目录 学习目标学习内容联邦学习基础:why, what, howwhy?what?how? 联邦学习的例子——CIFAR-10数据集(分类问题)1、import libararies2、hyper-parameters3、加载并且划分数据4、创建神经网络模型5、helper…

易基因:ChIP-seq等揭示WWOX基因通过上调Myc促进骨肉瘤发生发展的表观调控机制|Cell Death Dis

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 骨肉瘤(Osteosarcoma, OS)是一种高侵袭性骨肿瘤,主要影响儿童和青少年。这种恶性肿瘤与不良临床结果相关,尤其是肺转移。由于其罕见性和生…

【7-zip密码】7-Zip如何取消文件加密的密码

7z压缩包设置了密码,解压的时候就需要输入正确的密码才能顺利解压出文件,正常当我们解压文件或者删除密码的时候,虽然方法多,但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么,忘记了7z压缩包的密码…

Ubuntu20二进制方式安装nginx

文章目录 1.下载nginx安装包2.安装nginx3.安装出现的问题及解决方案错误1:错误2:错误3: 4.常用命令5.知识扩展: 1.下载nginx安装包 nginx官网:http://nginx.org/en/download.html 选择稳定的nginx版本下载。 2.安装ngi…

SWM341系列之SWM34SRET6介绍

SWM341系列的介绍 本文介绍了华芯微特SWM341系列主要性能,和其系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。 SWM341系列性能 SWM341是一款基于ARM Cortex-M33的32位微控制器,片上包含精度为 1%以内的 20MHz/40MHz 时钟,最…

Java18:网络编程

一.对象序列化: 1.对象流: ObjectInputStream 和 ObjectOutputStream 2.作用: ObjectOutputSteam:内存中的对象-->存储中的文件,通过网络传输出去 ObjectInputStream:存储中的文件,通过网络传输出去…

状态管理小能手:Cookie 和 Session

1. 引言 大家好,我是小❤,一个漂泊江湖多年的 985 非科班程序员,曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。 假期抢票的尴尬事件 最近小❤在抢出行的高铁票时,发生了一件尴尬的事情。 这不是临近假期了嘛&#xf…

【数字图像处理】水平翻转、垂直翻转

图像翻转是常见的数字图像处理方式,分为水平翻转和垂直翻转。本文主要介绍 FPGA 实现图像翻转的基本思路,以及使用紫光同创 PGL22G 开发板实现数字图像水平翻转、垂直翻转的过程。 目录 1 水平翻转与垂直翻转 2 FPGA 布署与实现 2.1 功能与指标定义 …

SSM 基础知识点

1. IoC IoC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在 Java 开发中,IoC 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 谁控制谁,控制什么&…

Linux网络配置

一、查看网络配置 1、查看网络接口信息ifconfig 1.查看所有活动的网络接口信息 2.查看指定网络接口信息 ifconfig 网络接口 ifconfig -a #显示所有活动及非活动的连接 ifconfig网络接口 ifconfig -a #显示所有活动及非活动的连接 主机的网络接口卡(网卡)通常称为网络接口…

QT上位机开发(动态添加控件)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 开发界面的时候,大多数情况下,我们都是推荐优先使用designer来进行界面开发。但凡事总有例外,如果控件本身数量…

C#编程-实现在文本文件中的读和写

实现在文本文件中的读和写 Stream类用于从文本文件读取数据和向文本文件写入数据。它是一个抽象类,支持向流读写字节。如果文件的数据仅是文本,那么您可以使用StreamReader类和StreamWriter类来完成相应的读和写任务。 StreamReader类 StreamReader类继承自从抽象类TextRea…

扩展边界opencv

扩展图像的边缘(如上边增加50像素)通常是通过添加额外的像素行来实现的 使用cv2.copyMakeBorder函数 valueborder_color指定了边框的颜色 import cv2 import numpy as np# 读取图像 image cv2.imread(th.jpg)# 设置边框宽度 top_border_width 50 # …

三、nginx代理功能

目录 SQUID代理服务器配置安装squid编辑squid配置文件 定义拒绝访问启动squid服务 linux客户端配置linux客户端配置正向代理测试http代理服务器上查看日志/var/log/squid/access.log windows 也可以配置网页代理 SQUID代理服务器配置 安装squid yum install squid -y 编辑squ…

Hive基础知识(六):Hive 配置运行日志信息、打印当前库和表头、参数配置方式

1. Hive 运行日志信息配置 1)Hive 的 log 默认存放在/tmp/atguigu/hive.log 目录下(当前用户名下) 2)修改 hive 的 log 存放日志到/opt/module/hive/logs (1)修改/opt/module/hive/conf/hive-log4j2.prop…