码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 21天学习挑战赛——Python 爬虫入门


    ​

    目录

    1. 爬虫概述

    1.1 爬虫作用

    1.2 爬虫与Python

    1.3 爬虫是否合法

    1.4 爬虫的矛与盾​​​​​​​

    2. 爬虫相关知识

    2.1 HTML

    2.2 CSS基础

    2.3 URL网址解释

    2.4 HTTP 与 HTTPS

    2.4.1 常见的请求方式

    2.4.3 常见请求头

    2.4.4 常见请求状态码:

    2.5 浏览器分析网站

    2.6 Session与Cookie

    2.7 Ajax请求


    ⭐不停的学习,是为了摆脱平凡...🌈

    活动地址:CSDN21天学习挑战赛

    1. 爬虫概述

    1.1 爬虫作用

    对于个人:可以保存图片、行业数据、视频、歌曲等。

    对于爬虫工程师:公司数据需要、数据分析、智能产品练习数据等。

    1.2 爬虫与Python

            爬虫不一定非得用 Python,Java、C语言也可以。编程语言是工具,爬取数据是目的,在实现目的过程中只要达到目的,使用什么工具都是可以的。而大多数人喜欢用 Python 的原因是 Python写爬虫简单。

    1.3 爬虫是否合法

            爬虫在法律上是不被禁止的,也就是说法律允许爬虫的存在。但是万物都有两面性,爬虫分为善意的爬虫和恶意的爬虫。善意的爬虫,不会破坏被爬取的网站的资源,正常访问频率,不窃取用户隐私;恶意的爬虫会影响网站的正常运营,抢票、疯狂秒杀网站资源可能会导致网站崩溃。

            为了避免损失,我们在爬虫时要合理爬取,避免干扰网站的正常运行,发现正在爬取的数据涉及用户隐私和商务机密等敏感内容时,及时终止爬取和传播。

    1.4 爬虫的矛与盾

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

    反反爬策略:爬虫程序可以通过制定相关的策略或技术手段,破解门户网址中具备的反爬机制,从而可以获取网站中相关的数据。不可强行反反爬虫,可能已经涉及恶意爬虫。

    robots.txt协议:君子协议,规定了网站中哪些数据可以爬取,哪些数据不可以爬取,在爬取网站前,最好先看一下。

    2. 爬虫相关知识

    2.1 HTML

            HTML 全称“超文本标记语言”,与程序设计语言有所区别,无逻辑架构,采用标记方式进行网页构建,使用“<>"将标记括起来。

    可以保存以下代码,生成一个以“.html”为后缀的文件。双击可以打开一个网页。可以先创建“.txt”文件,再修改后缀名。

    1. <html>
    2. <head>
    3. <title>测试页码title>
    4. <head>
    5. <body>
    6. <p>这是小浪宝宝的网页!p>
    7. <body>
    8. html>

     打开后的界面:

    HTML 标签
    标签名说明

    段落标记
    超链接
    href超链接地址
    图片
    src图片存放路径
    行内标签
  • 列表项
    划分HTML块
    表格标记
    行标记
    列标记
    h1~h6标题

    2.2 CSS基础

            CSS 是层叠样式表,控制 HTML 页面的样式和布局,使用 {} 将样式定义括起来。

            元素选择器:元素选择器根据元素名称来选择 HTML 元素。

    嵩天老师课件,网络爬虫。python项目与实践书籍等合计
    zip 0星 超过10%的资源 111.60MB
    下载

            id 选择器:使用 HTML 元素的 id 属性来选择唯一特定元素。

            类选择器:选择有特定 class 属性的 HTML 元素。

    2.3 URL网址解释

    案例网址:​​​​​​​​​​​​​​​​​​​​​

    https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/5162711?fromtitle=%E7%88%AC%E8%99%AB&fromid=22046949

    URL(网址)是 Uriform Resource Locator 的简写,统一资源定位符。URL 由以下几部分组成。

    1. 协议的类型。如:https
    2. 主机名称/域名。如:baike.baidu.com
    3. 端口号
    4. 查找路径。如:5162711?
    5. 查询参数(为 ?后面所有内容)。如:fromtitle=%E7%88%AC%E8%99%AB&fromid=22046949
    6. 锚点:前端用来做面定位的。现在一些前后端分离项目,也用锚点来做导航

    2.4 HTTP 与 HTTPS

    HTTP 协议:全称是 Hyper Text Transfer Protocal,中文意思是超文本传输协议,是一种发布和接收 HTML(Hyper Text Markup Language)页面的方法。服务端口号为:80。

    HTTPS 协议:全称是Hyper Text Transfer Protocal over SecureSocket Layer,是 HTTP 协议的加密版本,在 HTTP 下加入了SSL层,服务端口号是:443。

    2.4.1 常见的请求方式

            HTTP协议规定了浏览器与服务器进行数据交互的过程中必须要选择一种交互方式。在HTTP协议中,定义了八种请求方式,常见的有get请求和post请求。

    get请求:一般情况下,只从服务器获取数据,不会对服务器资源产生任何影响的时候使用get请求。

    post请求:向服务器发送数据(登录数据)、上传文件等,会对服务器资源产生影响的时候会使用post请求。请求参数在 From Data中。

    2.4.3 常见请求头

    http协议中,向服务器发送一个请求,数据分为三部分:

    1. 数据放在url里
    2. 数据放在body中(post请求时)
    3. 数据放在head中

    常见的请求头参数:

    1. user-agent :浏览器名称
    2. referer :表明当前这个请求是从url过来的
    3. cookie :http协议是无状态的,也就是同一个人发送了两次请求,服务器并没有能力知道这两个请求是否来自同一个人,而带上cookie就识别为登录的用户,类似于身份信息。

    2.4.4 常见请求状态码:

    • 200:请求正常,服务器正常的返回数据
    • 301:永久重定向。比如访问一个网页,会自动跳转到另一个网页。
    • 404:请求的url在服务器上找不到,换句话说就是请求的url错误。
    • 418:发送请求遇到服务器反爬虫,服务器拒绝响应数据。
    • 500:服务器内部错误,可能是服务器出现了bug

    2.5 浏览器分析网站

             随便打开一个浏览器,右键——>检查 或按F12,会出现网页编辑器。

    python爬虫资料(全)
    tar 2星 超过35%的资源 32.01MB
    下载
    • Element:可以帮助我们分析网页结构,获取想要的数据。
    • Console:控制台,打印输出网站的一些信息,比如网站的招聘信息。
    • Souerce:相当于一个文件夹,加载这个网页所需要的所有的源文件,除了Elements的源代码之外,还有一些CSS文件、JS文件等
    • Network:查看整个网页发送的所有网络请求。一般我们向查看某一个请求的信息,都可以到这里去查看。

     2.6 Session与Cookie

            Session与Cookie是用于保持HTTP长时间连接状态的技术。

    Session:​​​​​​​

    • Session代表服务器与浏览器的一次会话过程。
    • Session是一种服务器端的机制,Session对象用来存储特定用户会话所需的信息。
    • Session由服务器端生成,保存服务器的内存、缓存、硬盘或数据库中。

    Cookie:是由服务器端生成后发送给客户端(通常是浏览器),Cookie总是保存在客户端。

    2.7 Ajax请求

    • Ajax在浏览器与Web浏览器之间使用异步数据传输方式,这样可以使网页从服务器请求少量的信息;而不是整个页面。
    • Ajax技术独立于浏览器和平台。
    • Ajax一般返回的是JSON,直接对Ajax地址进行post或get,就返回JSON数据了。
    • 判断事都为Ajax生成数据,看滚动网页的时候是否发送了刷新,如果页面没有刷新,则数据是自动生成,Ajax渲染到界面。

     

            

  • 相关阅读:
    css滚动动画网站
    浅析主流跨端技术方案
    支持笔记本电脑直插直充,TOWE 65W智能快充PDU超级插座
    20230911 CLion 中 commit 窗口悬浮之后,再dock到主窗口
    C++中的泛型详细讲解
    eBPF 入门实践教程(一):编写 eBPF 程序监控打开文件路径并使用 Prometheus 可视化
    【Neo4j系列】Neo4j概念简介及整合SpringBoot
    论文解读(SAGPool)《Self-Attention Graph Pooling》
    2021-09-19-JSP-EL表达式-JSTL-Filter-Listener
    【吴恩达机器学习笔记】六、过拟合及正则化
  • 原文地址:https://blog.csdn.net/m0_52162042/article/details/126307888
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号