python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践 pdf

492次阅读
没有评论

1.3 爬虫的本质

爬虫的本质是通过技术,模拟浏览器(这里的浏览器指广义上的浏览器,一切用http协议传输的app都可以被视为浏览器)的客户端向服务器发起请求,并通过相关数据对相关数据进行提取。

原则上来说,只要是客户端可以请求到的数据,我们用爬虫也可以拿到。

2. 爬虫入门

2.1 爬虫的基本知识

  • 了解爬虫分类
  • 了解robots协议
  • 掌握爬虫流程

  • 1.爬虫分类

    爬虫主要分为两大类:

  • 通用爬虫:通常指的是我们的搜索引擎,如:百度、搜狗、谷歌 等
  • 聚焦爬虫:针对特定网站的爬虫
  • 2. robots协议

    Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定

    • 一般网站的robot协议都会放在网站的根目录下的 robots.txt文件中
    • https://www.taobao.com/robots.txt (淘宝的robots协议)
      python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    robots协议是一个君子协议,它并不会限制开发者对网站进行数据爬取,PS: 爬虫有风险,爬取需谨慎!!!

    3. 爬虫的流程

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    浏览器抓包基本知识

    通过浏览器:鼠标右键检查,或者按F12进入浏览器控制台抓包

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    分析:

    URL: URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址。

    请求分析:

    Request URL: https://www.baidu.com/s?ie=utf-8&fr=bks0000&wd=URL%E6%A0%BC 【请求的url】

    Request Method: GET 【请求的方式 ,同类还有POST, PUT, DELETE 等】

    Status Code: 200 【状态码 200表示请求成功,同类还有2xx 请求成功, 3xx 重定向跳转或迁移 ,4xx 客户端错误(常见404,403) ,5xx 服务器错误(常见501 、 502)】

    Remote Address: 14.215.177.38:443 【目标主机IP】

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    爬虫流程总结

  • 确定要爬取的url
  • 发起请求
  • 解析响应
  • 提取数据
  • 数据入库
  • 爬虫的基本工作 就是模拟浏览器的这些功能,不同的是浏览器会自动进行解析,而爬虫需要们手动进行解析,而浏览器会对数据进行渲染,爬虫对数据进行提取保存。

    2.2 HTTP和HTTPS

    1. http和https的概念

    • HTTP
    • 超文本传输协议
    • 默认端口号:80
    • HTTPS
    • HTTP + SSL(安全套接字层),即带有安全套接字层的超本文传输协议
    • 默认端口号:443

    HTTPS比HTTP更安全,但是性能更低

    2. 我们是如何通过http或者http协议发起请求的

    阿里四面试题:

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    3. http请求和获取响应的过程

  • 浏览器先向地址栏中的url发起请求,并获取相应
  • 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
  • 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
  • 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改————这个过程叫做浏览器的渲染
    • 注意: 这里必须要进行区分,网页源代码和网络请求返回来的响应是完全不相同的两回事
      网页源码 ≠ 响应

    4.http请求结构分析

    python——网络爬虫快速入门【基础知识篇】-python网络爬虫从入门到实践

    在浏览器headers中,点击view source来具体观察其中的请求行,请求头部和请求数据是什么样子的

    5.常见的响应状态码

    • 200:成功
    • 302:临时转移至新的url
    • 307:临时转移至新的url
    • 404:找不到该页面
    • 500:服务器内部错误
    • 503:服务不可用,一般是被反爬

    小结

  • 记忆 http、https的概念和区别:
    • http: 超本文传输协议
    • https: HTTP + SSL,即带有安全套接字层的超本文传输协议
  • 记忆 浏览器发送http请求的过程:
    • 浏览器先向地址栏中的url发起请求,并获取相应
    • 在返回的响应内容(html)中,会带有css、js、图片等url地址,以及ajax代码,浏览器按照响应内容中的顺序依次发送其他的请求,并获取相应的响应
    • 浏览器每获取一个响应就对展示出的结果进行添加(加载),js,css等内容会修改页面的内容,js也可以重新发送请求,获取响应
    • 从获取第一个响应并在浏览器中展示,直到最终获取全部响应,并在展示的结果中添加内容或修改
  • 记忆 http请求头的形式:
    GET /item/503/1227315?fr=aladdin HTTP/1.1 Host: www.baidu.com ……
  • 记忆 http响应头的形式 :
    HTTP/1.1 200 OK Connection: keep-alive ……
  • 了解 http响应状态码
    • 200:成功
    • 302:临时转移至新的url
  • 神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

    相关文章:

    版权声明:Python教程2022-11-01发表,共计1920字。
    新手QQ群:570568346,欢迎进群讨论 Python51学习