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 爬虫入门基础 的相关文章

  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 从 Python 中的类元信息对 __init__ 函数进行类型提示

    我想做的是复制什么SQLAlchemy确实 以其DeclarativeMeta班级 有了这段代码 from sqlalchemy import Column Integer String from sqlalchemy ext declar
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 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 爬虫入门基础

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