当前位置: 首页 > news >正文

爬虫学习笔记(一)

目的

通过编写程序爬取互联网上的优质资源

爬虫必须要使用python吗

非也~

编程语言知识工具,抓取到数据才是目的,而大多数爬虫采用python语言编写的原因是python的语法比较简单,python写爬虫比较简单!好用!而且python有很多第三方支持的库。很多繁琐复杂的工作直接交给这些第三方库就可以,自己不需要做这些额外的准备工作只需要导入库就好

爬虫合法吗

爬虫在法律上不禁止,但是有违反的风险(类比菜刀,法律上允许菜刀的存在,但是有人会使用菜刀做一些非法的事)

爬虫分为善意的和恶意的,如下图所示

反爬机制

门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取,如加密机制

反反爬机制

爬虫程序通过制定相关的策略或者技术手段,破解门户网站的反爬机制,获取门户网站的相关数据

robots.txt协议

君子协议(防君子不防小人),规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取,所有网站的君子协议所在地都是,网站名后加子目录/robots.txt,如下面的百度的君子协议

网址:https://www.baidu.com/robots.txt

第一个爬虫程序

使用工具:pycharm

爬取百度页面的资源

代码:

from urllib.request import urlopen
url = "https://www.baidu.com"
response = urlopen(url)#打开网址会返回响应的数据
#response.read()读取响应回的数据中的内容(内容是字节的形式,所以要解码成文字)
with open("myBaidu.html", mode="w",encoding="utf-8") as f:#写入模式f.write(response.read().decode("utf-8"))

保存文件中的内容:

 点击谷歌浏览器,对爬取到的html页面进行打开

结果如下图,和真正的百度页面完全相同

为什么拿到的是html代码,浏览器页面显示却不是?

其实浏览器拿到的也是html代码,只是浏览器会把html代码(源代码)运行成正常的页面动画及数据,因此爬虫读取到的实际上是网页的源代码

相关文章:

  • 硬件加密+本地部署,大模型一体机如何打造AI安全护城河?
  • 信创时代技术栈选择与前景分析:国产替代背景下的战略路径与实践指南
  • [Spring] Sentinel详解
  • Java读Excel:解析阿里云easyExcel导入文件的行号
  • web技术与nginx网站服务
  • 【Linux】第十一章 管理网络
  • 【SpringMVC】详解参数传递与实战指南
  • Linux系统管理与编程14:Shell变量及定制bash登录界面
  • LLM - Large Language Model
  • 迈瑞医疗一季度业绩环比大幅改善 国内业务将从今年三季度迎来重大拐点
  • AIGC重构元宇宙:从内容生成到沉浸式体验的技术革命
  • TypeScript之基础知识
  • 基于常微分方程的神经网络(Neural ODE)
  • XrayR启动失败
  • 如何查看电脑电池使用情况
  • 嵌入式开发面试典型编程题解析:排序算法、指针操作、字符处理、递归原理等基础原理的深度解析。
  • VS2022+OpenCasCade配置编译
  • C++ —— 正向迭代器与反向迭代器
  • 在服务器中,搭建FusionCompute,实现集群管理
  • KML文件转shp并保留关键字段
  • 修订占比近30%收录25万条目,第三版《英汉大词典》来了
  • 跨海论汉|专访白馥兰:对中国农业史的兴趣,从翻译《齐民要术》开始
  • 媒体:每一个“被偷走的人生”,都该得到公道和正义
  • 高璞任中国第一汽车集团有限公司党委常委、副总经理
  • 大学2025丨专访北邮校长徐坤:工科教育要真正回归工程本质
  • 解放军仪仗司礼大队参加越南纪念南方解放50周年庆典活动