Python 爬虫入门基础

2023-11-19

  1. 什么是爬虫
    爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。 比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。

  2. 浏览网页的过程
    在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过 DNS 服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。 因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。

3.URL 的含义
URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

URL 的格式由三部分组成: ①第一部分是协议 (或称为服务方式)。 ②第二部分是存有该资源的主机 IP 地址 (有时也包括端口号)。 ③第三部分是主机资源的具体地址,如目录和文件名等。

爬虫爬取数据时必须要有一个目标的 URL 才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。

  1. 环境的配置
    学习 Python,当然少不了环境的配置,最初我用的是 Notepad++,不过发现它的提示功能实在是太弱了,于是,在 Windows 下我用了 PyCharm,在 Linux 下我用了 Eclipse for Python,另外还有几款比较优秀的 IDE,大家可以参考这篇文章 学习 Python 推荐的 IDE 。好的开发工具是前进的推进器,希望大家可以找到适合自己的 IDE 下一节,我们就正式步入 Python 爬虫学习的殿堂了,小伙伴准备好了嘛?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 爬虫入门基础 的相关文章

  • Pandas 将行中的非空值获取到一个单元格中[重复]

    这个问题在这里已经有答案了 给定以下数据框 a pd DataFrame A 1 2 B 4 0 C 1 2 a A B C 0 1 4 1 1 2 0 2 我想创建一个新专栏D包含由列分隔的非空值 每行 像这样 A B C D 0 1 4
  • 为什么Python有最大递归深度?

    Python有最大递归深度 但没有最大迭代深度 为什么递归受到限制 把递归当成迭代来对待 而不限制递归调用的次数不是更自然吗 我只想说这个问题的根源来自于尝试实现流 参见这个问题 https stackoverflow com questi
  • python中热图的层次聚类

    我有一个 NxM 矩阵 其值范围为 0 到 20 我可以使用 Matplotlib 和 pcolor 轻松获得热图 现在我想使用 scipy 应用层次聚类和树状图 我想重新排序每个维度 行和列 以显示哪些元素相似 根据聚类结果 如果矩阵是方
  • 美丽的汤从谷歌搜索中提取href

    谷歌搜索给出了以下 HTML 的第一个结果 h3 class r a href https rads stackoverflow com amzn click com 0470284889 class l vst em Quantitati
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • 对图像使用 Pixellib 自定义训练时出现 input_image 元形状错误

    我正在使用 Pixellib 来训练自定义图像实例分割 我创建了一个数据集 可以在下面的链接中看到 数据集 https drive google com drive folders 1MjpDNZtzGRNxEtCDcTmrjUuB1ics
  • 当 DetailView 遇到时更新模型字段。 [姜戈]

    我有一个类似的 DetailViewviews py views py class CustomView DetailView context object name content model models AppModel templa
  • 如何使用 msgpack 进行读写?

    如何序列化 反序列化字典data with msgpack http msgpack org The Python 文档 http msgpack python readthedocs io en latest badge latest似乎
  • 使用python中的mysql连接器正确从mysql数据库获取blob

    当执行以下代码时 import mysql connector connection mysql connector connect connection params here cursor connection cursor curso
  • Python 垃圾收集有时在 Jupyter Notebook 中不起作用

    我的一些 Jupyter 笔记本经常出现 RAM 不足的情况 而且我似乎无法释放不再需要的内存 这是一个例子 import gc thing Thing result thing do something thing None gc col
  • 有没有任何方法可以使用 openpyxl 获取 .xlsx 工作表中存在的行数和列数?

    有没有任何方法可以使用 openpyxl 获取 xlsx 工作表中存在的行数和列数 在xlrd中 sheet ncols sheet nrows 将给出列数和行数 openpyxl中有这样的方法吗 给定一个变量sheet 可以通过以下方式之
  • 为 Python 2.4 改进“with”语句的直接替换

    您能否建议一种方法来编写可在 Python 2 4 中使用的 with 语句的直接替换代码 这将是一个 hack 但它可以让我更好地将我的项目移植到 Python 2 4 EDIT 删除了不相关的元类草图 只需使用 try finally
  • Flask SQLAlchemy 与 MyPy - 模型类型错误

    我遇到了以下组合问题flask sqlalchemy and mypy 当我定义一个新的 ORM 对象时 例如 class Foo db Model pass where db是使用创建的数据库SQL炼金术应用于flask app mypy
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • 在 scrapy 中将基本 url 与结果 href 结合起来

    下面是我的蜘蛛代码 class Blurb2Spider BaseSpider name blurb2 allowed domains www domain com def start requests self yield self ma
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • 如何使用 Python 将我的 GoPro Hero 4 相机直播连接到 openCV?

    我在尝试从我的新 GoPro Hero 4 相机捕获实时流并使用 openCV 对其进行一些图像处理时遇到麻烦 这是我的试用 创建的窗口上没有显示任何内容 import cv2 import argparse import time imp
  • 在Python中从列表中获取n个项目组的惯用方法? [复制]

    这个问题在这里已经有答案了 给定一个列表 A 1 2 3 4 5 6 是否有任何惯用的 Pythonic 方式来迭代它 就好像它是 B 1 2 3 4 5 6 除了索引之外 这感觉像是 C 的遗留物 for a1 a2 in A i A i

随机推荐

  • matlab生成cos函数_从零开始的matlab学习笔记——(22)三维曲面绘制

    matlab应用 求极限 求导 求积分 解方程 函数绘图 三维图像 更多内容尽在个人专栏 matlab学习 上一节我们说了说三维曲线的绘制 这一节我们趁热打铁 说一说三维曲面 meshgrid函数 建造三维曲面之前 我们先来了解一下mesh
  • stm32编译错误 L6218E L6304W

    当写一个关于stm32输出正弦波的程序时 编译文件出现 OBJ Template axf Error L6218E Undefined symbol main referred from rxxxx 错误 是main函数未定义 出现 OBJ
  • 招银网络科技2024「金融科技未来星」海外校园招聘计划启动!

    亚控科技真有知乎上说的这么差吗 有拿到offer的可以交流下 京东初试 淘天集团是谁 同学 简历已发送请查收 拼多多面试 秋招趣事之汇川技术 好的不学净学坏 这份24届求职黑名单快收藏 不要再重蹈覆辙 社招校招都可以投 可私聊我看进度 终于
  • C++11 并发指南五(std::condition_variable 详解)

    C 11 并发指南五 std condition variable 详解 前面三讲 C 11 并发指南二 std thread 详解 C 11 并发指南三 std mutex 详解 分别介绍了 std thread std mutex st
  • C++多线程(并发、进程、线程的基本概念和综述)

    并发 进程 线程的基本概念和综述 并发 并发表示两个或者更多任务 独立的活动 同时发生 进行 例如 一面唱歌一面弹琴 一面走路一面说话 画画的时候听小说等 回归到计算机领域 所谓并发 就是一个程序同时执行多个独立的任务 以往计算机只有单核C
  • (一)、Sun FtpClient

    项目实践中遇到Ftp传输问题 在这里做个专辑 第一篇还是介绍一下sun提供的FtpClient 这个也是网上说的最多的 在这里我只是给出例程 不再做详细的解释 sun提供的FtpClient简单宜用 不支持任何加密方式 并没有提供相应的ap
  • [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)

    这是作者的系列网络安全自学教程 主要是关于网安工具和实践操作的在线笔记 特分享出来与博友共勉 希望您们喜欢 一起进步 前文分享了Wireshark抓包原理知识 并结合NetworkMiner工具抓取了图像资源和用户名密码 本文将讲解Pyth
  • 1000: A+B的问题

    刷题网站 目录 题目描述 输入格式 输出格式 输入样例 输出样例 完整程序 题目描述 给定两个整数a b 0 lt a b lt 1000 计算a b的值 输入格式 有多组测试数据 每组一行 每行有两个整数a b 输出格式 输出a b的值
  • QT信号和槽连接方式小结

    QT信号和槽 qt信号和槽的连接方式 qt信号和槽的连接方式分为具体分五种 在手册中查看了Qt ConnectionType的枚举类型结果如下 Qt AutoConnection 0 默认 如果信号的发送和接收方在相同线程的情况下 使用Qt
  • 用Python的turtle模块绘制粽子

    导语 在这篇博客中 我们将使用Python的turtle模块来绘制中国传统食物 粽子 粽子是一种由糯米包裹在竹叶中制成的饺子 通常在端午节期间食用 我们将逐步解释代码并解释每个组成部分 以了解如何绘制粽子 准备工作 首先 我们需要导入tur
  • 如何遍历一个栈而且保持原栈不动

    用Iterator public static void printStack Stack
  • 适合于流式播放的DirectShow客户服的编写

    转载请标明是引用于 http blog csdn net chenyujing1234 例子代码 包括客户端与服务端 编译工具 VS2005 http www rayfile com zh cn files a34cb700 74ce 11
  • 免费实用的日记应用:Day One for Mac中文版

    Day One for Mac是一款运行在Mac平台上的日记软件 你可以使用Day One for mac通过快速菜单栏条目 提醒系统和鼓舞人心的信息来编写更多内容 day one mac版还支持Dropbox同步功能 想要day one
  • Linux shell中if [ $? -eq 0 ] 语句作用:判断命令是否执行成功

    shell脚本中 是指上一次命令执行的成功或者失败的状态 如果成功就是0 失败为1 语句if eq 0 是判断if语句的上一个命令执行如果成功就执行if中的语句 否则就执行else中的内容 note 使用时要注意 if后面的中括号 eq 0
  • ES概述与JS实现

    一 ES概述与JS实现 ES是国际标准化组织发布的浏览器脚本语言的标准 全名 ECMAScript ES是JS语言的国际标准 JS是ES的实现 在日常场合 两个词可以互换 ES是JS的子集 它是JS的内容的一部分 一个完整的JS实现是由以下
  • Ubuntu snap 使用大量 /dev/loop 设备

    snap 是 Ubuntu 上的新型软件包管理方式 但也证明 snap 虽然想以新代旧 但明显做的并不好 这里也是 snap 软件包管理的问题 自带的 咱并不想要 这个问题类似于 MacOS 上安装了 img 格式的软件后会有一个挂载点存在
  • 【DETR】3、Conditional DETR

    文章目录 一 Conditional DETR 是怎么被提出来的 二 Conditional DETR 的具体实现 2 1 框架结构 2 2 DETR 的 cross attention 和 Conditional DETR 的 cross
  • 开始编写Spring Boot代码及运行该代码

    编写代码 为了完成应用程序 我们需要创建一个单独的Java文件 Maven默认会编译src main java下的源码 所以你需要创建那样的文件结构 然后添加一个名为src main java Example java的文件 import
  • Java之路:变量作用域

    变量作用域 变量是有作用范围 Scope 的 也即作用域 一旦超出变量的作用域 就无法再使用这个变量 在程序中 变量一定会被定义在某一对大括号中 该大括号所包含的代码区便是这个变量的作用域 按作用域范围划分 变量分为成员变量和局部变量 1
  • Python 爬虫入门基础

    什么是爬虫 爬虫 即网络爬虫 大家可以理解为在网络上爬行的一直蜘蛛 互联网就比作一张大网 而爬虫便是在这张网上爬来爬去的蜘蛛咯 如果它遇到资源 那么它就会抓取下来 想抓取什么 这个由你来控制它咯 比如它在抓取一个网页 在这个网中他发现了一条