码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【python】爬虫入门相关


    ​目录

    一、 爬虫的流程

     二、爬虫相关技术介绍

    1. HTML和CSS

    1> HTML

    2> URL网址解释

     3> HTTP与HTTPS 协议

    4> Chrome浏览器分析网站

    5> Session与Cookie

    6> Ajax请求


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

    **

    学习日记 Day12

    **

     关于爬虫,相信大家都不陌生,关于为什么要学爬虫,爬虫为什么要用python,爬虫是不是合法等等相关问题在本文就不赘述了。本文主要是关于爬虫的具体实现。

    一、 爬虫的流程

    爬虫的过程:把网页的URL地址加入到URL队列中,根据URL下载网页内容,得到网页内容,重复提取URL和URL去重复操作,最后提取内容并存储数据。

     二、爬虫相关技术介绍

    1. HTML和CSS

    1> HTML

    HTML全程是超文本标记语言,与程序设计语言不同,没有逻辑结构,采用标记方式进行网页构建,使用<>讲标记括起来。

    如下,是一个html文件内容及在网页中的显示:

    1. <html>
    2. <head>
    3. <title>演示页面title>
    4. head>
    5. <body>
    6. <p>这是一个test网页p>
    7. body>
    8. html>

    html中的常用标签如下,完整的标签可参考:HTML 标签参考手册 (w3school.com.cn)

    标签名说明示例
    定义注释
    定义锚,超链接

    小地瓜

    划分HTML块

            

               

    这是绿色的文本

           

           

               

    这是蓝色的文本

           

    h1~h6标题,6种不同风格的标题

           

    title1

           

    title2

           

    title3

           

    title4

           

    title5

           

    title6

    href超链接地址,和一起使用小地瓜
    图片

  • 列表项

           

                 

    1. CSDN
    2.            

    3. Nowcoder
    4.            

    5. 博客园
    6.        

    定义段落

    这是绿色的文本

    行内标签

    提示:这是绿色的文本

    src图片存放路径

                   

                   

                   

               

    表格标记

           

               

                   

                   

               

               

                   

                   

               

           

    month saving
    jsnuary $10

    列标记

                   

    jsnuary $10
    行标记

               

    jsnuary $10

    示例,原始文件在这里(图片路径要根据自己电脑的路径改)

    1. <html>
    2. <head>
    3. <title>演示页面title>
    4. head>
    5. <body>
    6. <div style="color:#00FF00">
    7. <p><span>提示:span>这是绿色的文本p>
    8. div>
    9. <div style="color:#0000FF">
    10. <p>这是蓝色的文本p>
    11. div>
    12. <div style="color:#FF0000">
    13. <a href="https://blog.csdn.net/sinat_41752325?spm=1011.2124.3001.5343">小地瓜a>
    14. div>
    15. <h1>title1h1>
    16. <h2>title2h2>
    17. <h3>title3h3>
    18. <h4>title4h4>
    19. <h5>title5h5>
    20. <h6>title6h6>
    21. <img src="e:\\1.bmp" />
    22. <p>定义一个列表p>
    23. <ol>
    24. <li>CSDNli>
    25. <li>Nowcoderli>
    26. <li>博客园li>
    27. ol>
    28. <p>定义一个表格p>
    29. <table border="1">
    30. <tr>
    31. <th>monthth>
    32. <th>savingth>
    33. tr>
    34. <tr>
    35. <td>jsnuarytd>
    36. <td>$10td>
    37. tr>
    38. table>
    39. body>
    40. html>

    显示:

    2> URL网址解释

    一个URL示例:

    https://csdnnews.blog.csdn.net/article/details/126313913?spm=1000.2115.3001.5926

    URL是Uriform Resource Locator的简写,同一资源定位符。URL由以下几部分组成:

    • 协议的类型,如:htps,http等;
    • 主机名称/域名,如:baike.baidu.com;
    • 端口号;
    • 查找路径,如:126313913?;
    • 查询参数(?后面的内容,spm=1000.2115.3001.5926),采用键值对形式,多个键值对之间用&隔开;
    • 锚点,前端用来做面定位的。有些前后端分离项目,也用锚点来做导航(这部分的内容暂时还不是很懂)
      • 前端定位;
      • 锚点导航

     3> HTTP与HTTPS 协议

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

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

    ① 协议常见的请求方式

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

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

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

    ② 常见请求头

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

    • 第一个是把数据放到url中;
    • 第二个是把数据放在body中;
    • 第三个是把数据放在head中;

    常见的请求头参数:

    • user-agent:浏览器名称
    • referer:表明当前这个请求是从哪个url过来的
    • cookie:http协议是无状态的,也就是同一个人发送了两次请求。服务器没有能力知道这两个请求是否来自同一个人。而带上cookie就识别为登录过的用户或者同一个请求两次

    ③ 常见请求状态码

    • 200:请求正常,服务器正常的返回数据
    • 301:永久重定向,比如访问京东以前的网址http://www.360buy.com会重定向到https://www.jd.com
    • 404:请求的url在服务器上找不到,换句话说就是请求的url错误
    • 418:发送请求遇到都武器端反爬虫,服务器拒绝响应数据
    • 500:服务器内部错误,可能是服务器出现了bug

    4> Chrome浏览器分析网站

    谷歌浏览器:右键——>检查,界面如下:

    ​

    • Elements:可以帮助我们分析网页结构,获取我们想要的数据;
    • Console控制台:打印输出网站的一些信息,比如说网站的招聘信息;
    • Sources:相当于一个文件夹一样,加载这个网页所需要的所有的源文件,除了Elements的源代码之外,还有一些CSS文件、JS文件等;
    • NetWork:查看整个网页发送的所有网络请求,一般我们想要去查看某个请求的信息,可以在这里看

    5> Session与Cookie

    session与cookie用于保持http长时间连接状态的技术。

    Session

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

    ​

     Cookie

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

    Cookie的基本原理:

    1. 创建Cookie
    2. 设置存储Cookie
    3. 发送Cookie
    4. 读取Cookie

    6> Ajax请求

    Ajax在浏览器与Web服务器之间使用异步数据传输。这样就可以使网页从服务器请求少量的信息,而不是整个页面。

    Ajax技术独立于浏览器和平台。

    Ajax一般返回的是JSON,直接对Ajax地址进行post或get,就返回JSON数据了。

    判断是否为Ajax生成数据,看在滚动网页的时候是否发生了刷新,如果页面没有刷新,说明数据自动生成,就是Ajax渲染到界面上的。

    全文参考:爬虫入门知识_无 羡ღ的博客-CSDN博客https://blog.csdn.net/yuan2019035055/article/details/125345488

  • 相关阅读:
    从零开始学JAVA(04):数组
    gltf格式数据获取
    翻译软件-好用的翻译软件-免费翻译软件大全
    保姆级高通AEC9调试指南(看完可解决80%AE相关问题)
    【RocketMQ】消息的存储设计
    Delphi绘图功能[2] —— 窗体的绘图属性、圆弧类图形、获取Canvas对象(ClientRect解析)
    RabbitMQ-06 持久化
    算法ppt练习题(给黄成个大逼兜)
    04 多表查询
    115.(leaflet篇)leaflet空间判断-点与矩形的空间关系
  • 原文地址:https://blog.csdn.net/sinat_41752325/article/details/126370357
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | 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号