热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python网络爬虫简介(第一章)

Python网络爬虫相关概念爬虫介绍引入:之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为

Python网络爬虫相关概念

爬虫介绍

引入:

  • 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上。
  • 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集。
  • 优酷推出的火星情报局就是基于网络爬虫和数据分析制作完成的。其中每期的节目话题都是从相关热门的互动平台中进行相关数据的爬取,然后对爬取到的数据进行数据分析而得来的。另一方面,优酷根据用户实时观看视频时的前进,后退等行为数据,能够推测计算出观众的兴趣点和爱好点,这样有助于节目的剪辑和后期的节目方案的编写。
  • 今日头条作为一个新闻推荐类的应用,其内部的新闻数据都是通过爬虫程序在各个新闻网站进行新闻数据的爬取,然后通过相应的处理和运算将用户感兴趣的新闻话题推送到用户的手机上。
  • 从就业的角度来说,爬虫工程师目前来说属于紧缺人才,并且薪资待遇普遍较高所以,深层次地掌握这门技术,对于就业来说,是非常有利的。有些人学习爬虫可能为了就业或者跳槽。从这个角度来说,爬虫工程师是不错的选择之一。随着大数据时代的来临,爬虫技术的应用将越来越广泛,在未来会拥有更好的发展空间。

今日详情

什么是爬虫:

  • 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程
  • 解析:
    浏览器怎么上网,我就模拟浏览器上网,然后去获取数据
从中获取两个主要的关键字:
模拟:什么是模拟,为什么要模拟浏览器:
  • 因为:所谓的浏览器就是纯天然的爬虫工具(在浏览器中输入请求的内容,获取相应的网页,最终在浏览器中看到相应的页面)
爬取(抓取):
  • 抓取到页面的一整张数据

  • 抓取页面中的局部数据

爬虫在使用场景中的分类:

  • 通用爬虫:
    需要将页面一整张数据惊醒爬取
  • 聚焦爬虫:
    需要将页面中的数据局部爬取(聚焦爬虫与通用爬虫是有关联的,聚焦爬虫是需要建立在通用爬虫的基础上。)
  • 增量式爬虫:
    检测网站数据的更新的情况,用增量式爬虫爬取网站中最新更新出来的数据。
  • 分布式爬虫:
    可以搭建一个分布式集群,可以快速的进行海量数据的爬取

爬虫的合法性探究:

  • .如果你的爬虫程序没有影响对方网站的正常运行且没有爬取相关涉及侵权的数据

爬虫的核心:

反爬机制:

  • 一些网站,不想让其他人爬取自己网站的数据,怎么办:
  • 一些门户网站在服务器端会设置一些机制或策略用来阻止爬虫对数据的爬取

反反爬机制:

  • 我们想要获取更多更完整的数据,去破解反爬机制。
    -即爬虫需要破解网站指定的反爬机制从而爬取到网站的数据

开发环境:

anacanda
  • anacanda: 是一个基于数据分析+机器学习的集成环境。

  • jupyter: anaconda提供的一一个基于浏览器可视化的而开发|

  • 安装:
    安装了anaconda后,需要在终端中录入jupyter notebook指令。

  • 使用:
    -注意: jupyter notebook指令对应的终端目录就是jupyter启动后的根目录
    默认是在根目录下,如果切换到其他目录,那么这个目录就是根目录如:
    cd Desktop/ 那么根目录就是Desktop
    在这里插入图片描述
    在这里插入图片描述
    其中如果创建了一个python3 的文件,后缀名为ipynd
    在这里插入图片描述
    . ipynb是 jupyter中的一个源文件,代码的编写就要基于该源文件。该源文件是由cell组成的(每一行就是一个cell)
    cell的使用:

  • cell是分成了两种不同的模式:
    code:用来编写程序的
    markdown:用来编写笔记

  • 快捷键:

    。添加cell: a,b
    。删除cell: x
    。切换cel的模式:
    。code-》markdown: m
    。反之:y
    。查看帮助文档: shift+tab
    在这里插入图片描述


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文将介绍由密歇根大学Charles Severance教授主讲的顶级Python入门系列课程,该课程广受好评,被誉为Python学习的最佳选择。通过生动有趣的教学方式,帮助初学者轻松掌握编程基础。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
author-avatar
真实的阿凯123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有