Python |浅谈爬虫的由来

本文概要

本篇文章主要介绍Python爬虫的由来以及过程,适合刚入门爬虫的同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧!

🌟🌟🌟个人简介🌟🌟🌟

☀️大家好!我是新人小白博主朦胧的雨梦,希望大家多多关照和支持😝😝😝
🌖大家一起努力,共同成长,相信我们都会遇到更好的自己👊👊👊
🌗期待我的文章能给各位带来收获和解决问题的灵感🤩🤩🤩
🌟大家的三连是我不断更新的动力~😘😘😘

在这里插入图片描述

目录

  • 本文概要
  • 🌟🌟🌟个人简介🌟🌟🌟
  • 学习重点提前知🏆
  • ✨一.爬虫的由来和编写语言
    • 🌲1.何为爬虫
    • 🌲2.Python语言对爬虫的重要性
  • ✨二.网络传输协议
    • 🌲1.HTTP协议
    • 🌲2.HTTPS协议
    • 🌲3.返回的状态码意义
  • ✨三.学会使用抓包工具
  • ✨四. 爬虫的机制
  • ✨六.总结
  • 💫往期好文推荐

在这里插入图片描述

学习重点提前知🏆

  1.了解何为爬虫;

  2.掌握网络传输协议(主要为HTTP协议和HTTPS协议);

  3.掌握爬虫机理。

✨一.爬虫的由来和编写语言

🌲1.何为爬虫

  爬虫指的是一种自动化程序或软件,可以对互联网上的网页进行自动化抓取和分析。其基本原理是先根据设定的规则和指令搜索和下载特定的网页,然后解析其内容,提取所需的数据信息,并进一步处理和应用这些数据。

  在互联网中,数据是极其重要和珍贵的资产,因此爬虫应用广泛,例如搜索引擎,数据挖掘,业务智能和个性化推荐,自然语言处理,监测竞争对手等方面。爬虫除了可以有效地提供海量的各种类型的数据,也可以帮助机构或公司了解自己的品牌形象和在竞争市场中的地位。

  但是,由于爬虫不仅可以用于良性目的,还能用于非法、恶意目的,例如爬取个人敏感信息或侵犯版权等违法行为,因此,爬虫在实际运用中也需要遵守法律和伦理规范,否则将会面临法律制裁和声誉损失等风险。

  我个人说说大白话,首先爬虫的初衷就是根据某些规则,对特定网页的信息进行提取和采集。其次,爬虫有利有害,具体是利还是害,则须看使用这项技术的人,“技术本身不分好坏”,非要拿出来个标准,那就是“君子约定”,举例,我们打开baidu文库网在网站根目录后输入/robots.txt后即可查看该网站的君子协议。
在这里插入图片描述
Of course, if you follow this agreement, you don’t need to learn this technology,Ctrl+c and Ctrl+v are sufficient.,咳咳,大家只要记住,第一,你不要去以一个极高的频率向对方的服务器发送请求,不听话?如果造成宕机,恭喜你…第二,强行突破对方的各种加密手段从而拿到一些涉及机密的数据,第三,涉及个人隐私信息等
在这里插入图片描述

🌲2.Python语言对爬虫的重要性

  Python语言在爬虫领域中的作用非常重要,因为Python是一种易学易用的编程语言,有一个强大的爬虫生态系统和大量开源的爬虫框架可供选择。其他一些常见的编程语言,例如Java、PHP、C/C++等也可以用于编写爬虫,但对比Python来说,Python语言在以下几个方面表现得更胜一筹:
  1.简单易学:Python语言简单易学,使得开发者可以快速掌握其语法和基础知识,进而能够高效地编写出复杂的爬虫程序。

丰富的库和框架:Python拥有大量的库和框架,这些库和框架可以极大地降低爬虫开发的难度,避免开发者重复造轮子

  2.容易维护:Python的语法简洁明了,代码可读性强,适合开发和维护大型爬虫系统。

  3.跨平台:Python是一种跨平台的编程语言,在不同的操作系统和平台上都能够运行,这使得开发者可以更加快速地验证爬虫程序的正确性。

  因此,在爬取和处理互联网数据的过程中,Python语言以其简洁优美的语法、功能强大的爬虫框架和庞大的生态系统,一直受到开发者的青睐。

✨二.网络传输协议

🌲1.HTTP协议

  HTTP,全称是“超文本传输协议”,是一种用于传输文本、图像、音频、视频等超媒体信息的应用层协议

  HTTP 协议设计的初衷是为了在 Web 环境下进行通信,HTTP协议基于TCP连接,使用客户端-服务端模型,客户端发出HTTP请求,服务端返回HTTP响应。HTTP协议的常见版本有 HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2 和 HTTP/3等。

  HTTP协议的请求报文包含请求行,请求头和请求体三部分,请求行包含方法、URL和HTTP协议版本,请求头包含请求的附加信息,例如 Accept 和 User-Agent等,请求体包含上传的数据,例如表单数据或文件。

  HTTP协议的响应报文包含状态行,响应头和响应体三部分,状态行包含HTTP协议版本、状态码和状态描述,响应头包含响应的附加信息,例如 Content-Type 和 Server等,响应体包含响应的数据,例如HTML页面、图片或JSON数据。

  HTTP协议简单易懂,易于使用,广泛应用在互联网上,例如浏览器的网页请求和响应、API的数据传输等。但HTTP协议基于明文传输,容易受到网络攻击和窃听,因此在实际应用中,HTTPS协议逐渐取代了HTTP协议成为更为安全的协议标准。

  如果是纯小白,大家只需要明白,HTTP协议传输过程不加密,客户端-服务端模型,如下所示:
在这里插入图片描述

🌲2.HTTPS协议

  HTTPS,全称是“超文本传输安全协议”,是基于HTTP协议的一种安全的传输协议。HTTPS协议采用了SSL/TLS协议来加密传输数据,保证数据传输的安全性和完整性,防止被窃听和篡改。

  HTTPS协议在HTTP协议的基础上添加了加密方式和认证过程。HTTPS协议使用公钥、私钥和数字证书来实现加密和认证,加密采用了对称加密和非对称加密两种方式,对称加密用于加密数据,非对称加密用于认证服务端身份和交换对称加密所需的密钥。

  HTTPS协议的优点在于它可以保护用户的隐私信息,例如登录密码、信用卡号等,防止资料被黑客或中间人攻击者窃取或篡改。HTTPS协议现在已被广泛应用于金融、电商、社交媒体等互联网应用环境中。

  虽然HTTPS协议相对于HTTP协议而言,会带来一定的性能开销,例如建立连接的握手过程和加密处理的开销等,但由于网络安全问题日益严重,HTTPS协议已成为互联网通信标准的重要部分,同时各种新型的网络攻击和漏洞常常让出于安全考虑,网站运营者们更倾向DIOC升级其网站为HTTPS协议。

🌲3.返回的状态码意义

  当客户端向服务器发起网络请求时,服务器会返回一个状态码,状态码分为5类,分别是1xx、2xx、3xx、4xx和5xx。不同状态码代表着不同的含义,具体如下:

  1.1xx:表示客户端的请求已经被接收了,但服务器需要进一步处理请求才能完成。如:100 (继续),表示客户端可以继续发送请求。

  2.2xx:表示请求已成功被服务器接收、理解,并处理。如:200 (OK),表示请求已成功。

  3.3xx:表示请求需要进一步操作,服务器会返回一些跳转信息,告诉客户端如何操作。如:302 (重定向),表示请求的地址已经改变,需要客户端重新发送请求到新的地址。

  4.4xx:表示请求有误,客户端发送的请求出现了问题,如:404 (未找到),表示客户端请求的资源不存在。

  5.5xx:表示服务器端发生了错误,无法完成客户端的请求,如:500 (服务器内部错误),表示服务器发生了未知错误。

  状态码是网络请求过程中非常重要的一部分,它可以让客户端和服务器能够快速识别问题所在,进而进行修复和解决。因此,在进行网络开发的过程中,我们需要理解各种状态码的含义,以便及时排查和修正问题。

✨三.学会使用抓包工具

  抓包工具有很多,这里我建议小白使用Chrome浏览器,因为真的很好用,主要有以下几个原因:

  Chrome浏览器是市场占有率最高的浏览器,因此模拟Chrome浏览器的行为能够使爬虫更加隐蔽、更接近真实的用户行为,避免被网站识别为爬虫而被封禁。

  Chrome浏览器内置了开发者工具,使用Chrome提供的开发者工具可以方便的查看网页源码、调试JavaScript代码、分析HTTP请求等,这些功能对于爬虫开发来说非常有用。

  Chrome浏览器支持多种插件和扩展,其中一些插件可以帮助爬虫开发者更加方便的抓取和分析网页数据,例如Chrome插件XPath Helper可以方便地在网页中获取XPath路径

  Chrome浏览器的自动化测试工具Selenium也可以用于爬虫开发,Selenium可以模拟用户使用Chrome浏览器的行为,例如自动点击、输入、滚动等,这对于爬取一些需要模拟人工操作的网站非常有用。

  使用Chrome浏览器可以使爬虫更易于编写、更接近真实的用户行为、更方便地获取和分析网页数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

✨四. 爬虫的机制

  1.确定爬取目标:首先需要明确要爬取的网站、要爬取的数据类型和要爬取的数据范围。

  2.发起请求:爬虫程序通过 HTTP 或 HTTPS 协议向目标网站发起请求,获取网页的 HTML 文档。

  3.解析 HTML:爬虫程序使用网页解析库(如 BeautifulSoup、lxml)解析网页的 HTML 文档,提取出需要的数据。
  4.处理数据:爬虫程序对获取到的数据进行处理和存储,例如将数据存储到数据库中或写入文件。

  5.反爬措施:由于许多网站采取了反爬虫措施,爬虫程序需要进行相应的解决策略,例如设置 User-Agent 参数、使用代理和验证码识别等。

  6.定时任务:如果是长期维护的爬虫,需要定期对目标网站进行监测和更新,确保数据的实时性和准确性。.
   🌲示例:

import requests
# 发起请求,获取网页 HTML
url = 'https://www.xxxx.com/'
response = requests.get(url)
print(response.text)
html = response.text
# 解析 HTML,提取数据
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
title = soup.title.string# 处理数据,存储数据
with open('xxxx.html', 'w', encoding='utf-8') as f:f.write(html)print('爬取完成')

✨六.总结

  通过今天的简单介绍,相信大家已经明白了Python爬虫的由来以及过程,好了,今天就分享到这里,谢谢大家的观看,有什么想法记得评论区告诉我!拜拜~✨ ✨ ✨

💫往期好文推荐

  TOP🥇.自动驾驶技术未来大有可为❤️❤️❤️🏆🏆🏆❤️❤️❤️

  TOP🥈.Python爬虫 | 利用python爬虫获取想要搜索的数据(某du)❤️❤️❤️🏆🏆🏆❤️❤️❤️

  TOP🥉.ChatGPT | 一文详解ChatGPT(学习必备)❤️❤️❤️🏆🏆🏆❤️❤️❤️

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适合普通人的基金投资研究工具之:且慢与基金组合

当投资者在进行了充分的基金投资研究之后,如何开展投资实践就成了头等大事。从基金投资者具体的实践来看,很少会有投资者只选择单一基金进行长期投资,绝大多数的投资者都是在做基金组合投资。 (一)且慢与基金组合功能 …

杨立昆最新访谈:AI威胁论是蒙昧主义,控制欲只有人才有 (全文+视频)

作者:城主 | 编辑:腾讯新闻 郝博阳 编辑导语 经过了前一段时间的辛顿(Hinton)离职事件和AI监管大讨论之后,整个舆论界都在围绕着“AI毁灭人类的100种方法”大出文章。在这种众口一词的大合唱里,其实一直都有…

张俊林趣谈:GPT4是否已具备类人智慧,为何GPT通过Next Token Prediction可以产生智能...

夕小瑶科技说 分享 作者:张俊林 来源:知乎 导读:本文转载自张俊林老师首发在知乎的文章《世界的参数倒影:为何GPT通过Next Token Prediction可以产生智能》,文章结合当前对LLM的各种研究,以拼图的方式&…

张俊林:GPT4等LLM模型具备类人智慧了吗?

编辑:DataFunTalk 进NLP群—>加入NLP交流群 导读:本文转载自张俊林老师首发在知乎的文章《世界的参数倒影:为何GPT通过Next Token Prediction可以产生智能》,文章结合当前对LLM的各种研究,以拼图的方式,…

世界的参数倒影:为何GPT通过Next Token Prediction可以产生智能

作者:张俊林 来源:知乎 夕小瑶科技说 编辑 “两位说英语的荒岛幸存者被困在相邻岛屿上,中间隔着危险水域。幸运的是,他们发现了前任居民留下的电报机,电报机通过一条水下电缆连接起来,他们能够通过电报…

张俊林趣谈:GPT4是否已具备类人智慧,为何GPT通过Next Token Prediction可以产生智能

夕小瑶科技说 分享 作者 | 张俊林 来源 | 知乎 导读:本文转载自张俊林老师首发在知乎的文章《世界的参数倒影:为何GPT通过Next Token Prediction可以产生智能》,文章结合当前对LLM的各种研究,以拼图的方式,对LLM是否具…

关于语言大模型的八大论断

近几个月来,语言大模型(LLM)的广泛公开部署引起了倡导者、政策制定者和许多领域学者们的新一轮关注和参与。Anthropic技术团队成员、纽约大学助理教授Samuel R. Bowman总结了八个可能引发思考的观点,并讨论了LLM还存在的局限性。 …

这波可以,终于有内行人把 GPT-4 说透了。

👉腾小云导读 近三个月 ChatGPT 方兴未艾,昨日凌晨 OpenAI 趁势发布多模态预训练大模型 GPT-4 ,其能力的升级和应用的拓展又一次引爆国内外网络。腾讯算法工程师冉昱将通过10问10答的形式,分享其个人对于 GPT-4 技术能力、特点及应…

讯飞星火大模型将突破开放式问答能战胜chatgpt等国际AI吗?

近日,科大讯飞召开了星火认知大模型成果发布会,会上表示讯飞星火大模型将突破开放式问答,对标ChatGPT,在中文能力上超过ChatGPT,在英文能力上与ChatGPT相当。对此,你怎么看? 科大讯飞推出的新一…

chatGPT怎么用?对教育行业的帮助

推出ChatGPT后,教育普及的门槛更低了。 教育不公平是一个普遍存在的全球性问题。我们可以发现,不同国家和地区以及不同群体之间的学习机会和成果存在巨大的差距。 在许多国家,贫困水平对数学成绩有很大影响。根据全球教育不平等数据库的数据&…

基于小米NOTE的安卓手机刷nethunter通用包的教程

基于小米NOTE的安卓手机刷nethunter通用包的教程 前言概述最后展示一下相关的画面: 前言 随着安卓平台的发展和kali官方的支持,安卓手机安装体验kail linux变得越来越好了。安卓手机安装引入kali有一些不同的方式,当然也要看手机的平台了&am…

苹果被曝正在研发 Apple GPT,“傻瓜”Siri 有救了?

整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 姗姗来迟,终于等到苹果正在着手开发人工智能工具的消息。 据彭博社报道,苹果正在内部开发自己的类 ChatGPT AI 聊天机器人,一些工程师直接简明扼要地将其称之为“App…

2019款奔驰E级:价格不变,深受欢迎

不久前奔驰E级长轴版上市,令网友欣喜的是,价格与老款保持不变,价格为为43.58万-62.98万元,国产奔驰E级在国内非常受欢迎,它介于奔驰C级和S级之间,起着承上启下的作用,主力车型2019款北京奔驰E30…

全新昂科威:前脸更换家族式脸谱,动力和配置依旧没变

别克通用旗下的不少车型,都经历过换代和升级,尤其是一些比较畅销的车型,但是在面对竞争对手的车型,别克还是显得有些吃力,所以间接造成19年第一季度的销量不佳,同比下滑不少。随着国六排放的标准出台&#…

新一代奔驰C级车型内饰大改动,预计2021年才会亮相?

新一代奔驰C级的头尾灯变化明显,预计将搭载4缸、6缸以及混动系统。最近,外媒曝光了一组全新一代梅赛德斯-奔驰C级的谍照,它的车身伪装依旧很重,因为这款车距离亮相还会有好长一段时间。 其实不看奔驰C级的谍照我们也能猜到&#x…

2019款昂科威试驾:动力性能标杆,驾控体验更舒适

2019款昂科威亮相以后,反响一直很好,作为别克的资深车迷,小编自然早早的体验了一把,2019款别克昂科威究竟有什么值得称赞的地方。 从JD Power的排名来看,别克这个品牌的车型还是一如既往的受到消费者的喜爱。为了更好的…

2020款凯迪拉克XT5:外观霸气,亮点在动力

作为进口车型SRX的继任者,国产凯迪拉克XT5从来不缺少眼球。近日,凯迪拉克XT5已经到店了,我们也第一时间给大家拍到了几组实拍图。新车将与奔驰GLC、宝马X3等中型SUV展开竞争,动力满足国六排放。新车外观方面变化不大,主…

2020款奔驰E级谍照曝光,带给你非同一般的感觉

现在市面上有很多coupe,但奔驰E级轿跑车却并没有因此而被埋没。它没有任何花哨的绰号或过度的外观,是真正意义上的轿跑车。但是,一直是一个外观,再好的车也会引起审美疲劳,所以,奔驰开始致力于2020款E级的改…

2019款别克君威:年轻现代化,纵享操控驾驶乐趣

别克君威,自从别克家族设计语言升级以后,别克君威就把定位放在了年轻群体上,凭借着前卫的运动造型获得了90后的青睐,并且实现了很好的成绩,月销过万。今年,君威推出了2019款,全系标配9速&#x…

2019款的别克君威:90后的青睐,亮点不只是内饰

其实美系车一直在我国国内市场里面占有比较重要的位置,尤其是别克旗下的车型,比如说全新君威,这款车就是为年轻人设计的一款车,这一款是前卫的运动造型,获得九零后的青睐与喜爱,当时在上市的时候它的销售成…