Python网络爬虫从入门到精通
文章平均质量分 53
行动之上
123行动
展开
-
了解网络爬虫,网络爬虫到底能做什么
3,法律问题,目标网站实际上它的数据是不希望被其他的爬虫给爬取到的,如果我们去爬取对方不让我们爬的数据,实际上从法律的角度上来讲,是有违法嫌疑的。1,做网络爬虫不能毫无节制,比如爬虫如果不去做限速,随时随地的不停的去访问目标网站,实际上会对目标网站造成一个很大的访问压力。1,爬取网站数据 2,自动化测试 3,做一些可以脱离手动的一些操作,例如帮人投票 4,灰色产业例,例如薅羊毛,做水军等。1,聚合产品,例如新闻网站 2,搜索引擎 3,数据分析,人工智能数据源 4,特定领域的数据服务,例如二手车的估值。原创 2023-08-29 09:00:00 · 1318 阅读 · 1 评论 -
Python输入多个值
同样,这种方法也假设用户输入的值数量与你期望的匹配。如果不匹配,或者用户输入的不是有效的整数,可能会引发错误。注意:这种方法的一个潜在问题是,如果用户输入的值数量与你期望的不匹配,可能会引发错误。你可能需要添加一些错误检查来处理这种情况。在Python中,你可以使用多种方法来输入多个值。如果你想要用户输入的值是某种特定类型(例如整数),你可以使用。如果你需要用户输入一个不确定数量的值,可以使用循环。这是最简单的方法,但用户需要多次输入。你可以让用户一次性输入多个值,然后使用。原创 2024-03-14 10:28:42 · 1492 阅读 · 0 评论 -
在本地计算机上运行Python代码
以上就是在本地计算机上运行Python代码的基本步骤。如果你是初学者,建议从简单的程序开始,并逐步学习Python的语法和功能。文件中的代码,并且在屏幕上打印出“Hello, World!这个命令应该会返回Python的版本号。原创 2024-02-20 15:49:39 · 454 阅读 · 0 评论 -
python中怎么画对数坐标图
注意,当使用对数尺度时,数据中的零值和负值可能会导致问题,因为对数函数在这些点上未定义。如果你的数据中包含零或负值,你可能需要在绘制图形之前对数据进行处理。库来创建对数坐标图。另外,你也可以只对x轴或y轴使用对数尺度,只需将不需要的。在Python中,我们可以使用。原创 2024-02-18 17:46:00 · 960 阅读 · 0 评论 -
如何使用python对基金投资收益进行回测
基金投资收益回测是一个复杂的过程,通常包括以下几个步骤:获取历史数据、设定投资策略、计算投资组合收益、评估投资表现等。下面是一个简单的Python示例,用于回测一个基本的投资策略:定期定额投资。原创 2024-02-17 16:47:29 · 722 阅读 · 0 评论 -
如何在Python代码中使用注解
这些注解在运行时并不强制执行,但可以用于类型检查、提高代码可读性以及为IDE和其他工具提供更好的代码补全和错误检查功能。请记住,Python的类型注解是可选的,并且不会改变代码的运行时行为。请注意,变量注解通常不会改变代码的运行行为,它们主要用于静态类型检查和工具支持。从Python 3.6开始,你也可以使用注解来标注变量的类型。对于更复杂的类型,如列表、字典或自定义类型,你可以使用。这样的第三方类型检查器来验证你的代码。你可以使用自定义的类作为类型注解。类型会降低类型注解的有用性。原创 2024-02-15 18:05:49 · 490 阅读 · 0 评论 -
解析Python类方法返回值注解
返回值注解紧跟在函数或方法定义中的参数列表之后,使用冒号分隔。下面是一个简单的例子:python复制代码在这个例子中,greet函数接受一个类型为str的参数name,并返回一个类型为str的值。返回值注解-> str指明了这一点。原创 2024-02-15 18:02:07 · 444 阅读 · 0 评论 -
怎么查看python的安装路径
如果你使用的是Python自带的IDLE或某个IDE(如PyCharm、VS Code等),它们通常会在某个地方显示Python解释器的路径。具体的位置取决于你使用的IDE。但是请注意,环境变量中可能只包含Python的Scripts目录,而不是Python解释器本身的路径。它将输出Python解释器的完整路径。以上方法中,使用命令行或Python脚本通常是最直接和准确的方式。注意:在macOS和Linux上,Python 3通常通过。这些命令将显示Python解释器的完整路径。将这段代码保存为一个。原创 2024-02-13 12:44:02 · 2875 阅读 · 0 评论 -
怎么用Python输出图片
在Python中输出图片通常指的是将图片数据加载到内存中,并通过某种方式显示出来。最常见的方法是使用图形库,比如PIL(Python Imaging Library,又名Pillow)或者Matplotlib。原创 2024-01-27 12:51:00 · 1441 阅读 · 0 评论 -
爬虫工程师基础,Python关键字
finally 处理异常,无论是否存在异常,都将执行一段代码。elif 在条件语句中使用,等同于 else if。pass null 语句,一条什么都不做的语句。except 处理异常,发生异常时如何执行。in 检查列表、元组等集合中是否存在某个值。continue 继续循环的下一个迭代。False 布尔值,比较运算的结果。True 布尔值,比较运算的结果。yield 结束函数,返回生成器。from 导入模块的特定部分。for 创建 for 循环。lambda 创建匿名函数。except 语句。原创 2023-10-20 19:55:47 · 674 阅读 · 0 评论 -
爬虫工程师基础,Python csv模块
CSV 文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV 是电子表格和数据库中最常见的输入、输出文件格式。原创 2023-10-09 23:34:36 · 159 阅读 · 0 评论 -
爬虫工程师基础,Python PIP汇总
PIP 是 Python 包或模块的包管理器。包中包含模块所需的所有文件。模块是可以包含在项目中的 Python 代码库。原创 2023-10-05 23:01:21 · 112 阅读 · 0 评论 -
爬虫工程师基础,User-Agent(用户代理)
网站通过识别请求头中 User-Agent 信息来判断是否是爬虫访问网站。如果是,网站首先对该 IP 进行预警,对其进行重点监控,当发现该 IP 超过规定时间内的访问次数, 将在一段时间内禁止其再次访问网站。网络爬虫使用程序代码来访问网站,而非人类亲自点击访问,因此爬虫程序也被称为“网络机器人”。绝大多数网站都具备一定的反爬能力,禁止网爬虫大量地访问网站,以免给网站服务器带来压力。代码重构了 User-Agent 字符串信息,这样就解决了网站通过识别 User-Agent 来封杀爬虫程序的问题。原创 2023-10-04 22:04:10 · 1929 阅读 · 0 评论 -
爬虫工程师基础,构建User-Agnet代理池
在 Pycharm 工作目录中定义一个 ua_info.py 文件,并将以下 UA 信息以列表的形式粘贴到该文件中MSIE 7.0;U;MSIE 7.0;U;MSIE 9.0;MSIE 7.0;MSIE 6.0;用户代理池构建。原创 2023-10-03 21:59:34 · 896 阅读 · 0 评论 -
爬虫工程师基础,python for循环
range() 函数默认 0 为起始值,可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10)for 语句不能为空,如果处于某种原因写了无内容的 for 语句,使用 pass 语句来避免错误。循环用于迭代序列(即列表,元组,字典,集合或字符串),通过使用。for 循环中的 else 关键字指定循环结束时要执行的代码块。循环,可以为列表、元组、集合中的每个项目等执行一组语句。语句,可以停止循环的当前迭代,并继续下一个。语句,可以在循环遍历所有项目之前停止循环。原创 2023-10-01 22:02:15 · 616 阅读 · 0 评论 -
爬虫工程师基础,Python集合2
方法返回包含两个集合中所有项目的新集合,也可以使用。Python 在集合(set)上使用的内建方法。方法将 set2 中的项目插入 set1 中。方法将一个集合中的所有项目插入另一个集合。原创 2023-09-30 21:48:04 · 23 阅读 · 0 评论 -
爬虫工程师基础,Python集合
可以使用 for 循环遍历 set 项目,或者使用 in 关键字查询集合中是否存在指定值。无法通过引用索引来访问 set 中的项目,因为 set 是无序的,项目没有索引。集合一旦创建,就无法更改项目,但是可以添加新项目。使用 update() 方法将多个项添加到集合中。创建集合,集合是无序的,无法确定项目的显示顺序。要确定集合中有多少项,请使用 len() 方法。使用 add() 方法向 set 添加项目。要向集合中添加多个项目,请使用。要将一个项添加到集合,请使用。要删除集合中的项目,使用。原创 2023-09-29 23:00:43 · 85 阅读 · 0 评论 -
爬虫工程师基础,python元组汇总
元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。原创 2023-09-28 22:27:41 · 85 阅读 · 0 评论 -
爬虫工程师基础,Python 数组之列表汇总
负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。使用 extend() 方法将 list2 添加到 list1 的末尾。打印返回第一(包括),到第二项(不包括)的赋值,第一项的索引为 0。方法删除指定的索引(如果未指定索引,则删除最后一项)返回从索引 -4(包括)到索引 -1(排除)的项目。可以通过指定范围的起点和终点来指定索引范围。需确定列表中是否存在指定的赋值,使用。要在指定的索引处添加项目,请使用。将项目添加到列表的末尾,请使用。打印列表的第一项的赋值。原创 2023-09-19 18:57:24 · 129 阅读 · 0 评论 -
爬虫工程师基础,Python 文件写入
打开文件 “demofile2.txt” 并将内容追加到文件中。- 创建 - 将创建一个文件,如果文件存在则返回错误。打开文件 “demofile3.txt” 并覆盖内容。- 追加 - 如果指定的文件不存在,将创建一个文件。- 写入 - 如果指定的文件不存在,将创建一个文件。如需在 Python 中创建新文件,请使用。创建名为 “myfile.txt” 的文件。- 写入 - 会覆盖任何已有的内容。- 追加 - 会追加到文件的末尾。如需写入已有的文件,必须向。如果不存在,则创建新文件。原创 2023-09-16 19:18:45 · 145 阅读 · 0 评论 -
爬虫工程师基础,正则表达式基本语法
正则表达式(regular expression)是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。正则表达式几乎适用于所有编程语言,无论是前端语言JavaScript,还是诸如许多后端语言,比如 Python、Java、C# 等,这些语言都提供了相应的函数、模块来支持正则表达式,比如Python 的 re 模块就提供了正则表达式的常用方法。在使用 Python 编写爬虫的过程中,re 模块通常做为一种解析方法来使用。原创 2023-09-15 23:16:55 · 1189 阅读 · 0 评论 -
爬虫工程师基础,Python 文件写入
打开文件 “demofile3.txt” 并覆盖内容,“w” 方法会覆盖全部内容。打开文件 “demofile2.txt” 并将内容追加到文件中。- 创建 - 将创建一个文件,如果文件存在则返回错误。- 追加 - 如果指定的文件不存在,将创建一个文件。- 写入 - 如果指定的文件不存在,将创建一个文件。在 Python 中创建新文件,请使用。- 写入 - 会覆盖任何已有的内容。- 追加 - 会追加到文件的末尾。如需写入已有的文件,必须向。原创 2023-09-14 19:58:55 · 167 阅读 · 0 评论 -
爬虫工程师基础,Python布尔类型入门
除空值(例如 ()、[]、{}、“”、数字 0 和值 None)外,没有多少值会被评估为 False,还有计算结果可能为 False。在编程中,通常需要知道表达式是 True 还是 False。函数可以评估任何值,并返回 True 或 False。除空列表外,任何列表、元组、集合和字典均为 True。评估字符串和数字,并返回 True 或 False。函数的类生成的,且该函数返回 0 或 False。评估变量,并返回 True 或 False。除空字符串外,任何字符串均为 True。原创 2023-09-13 17:04:21 · 97 阅读 · 0 评论 -
爬虫工程师基础,python文件处理
读取 - 默认值。打开文件进行读取,如果文件不存在则报错。- 写入 - 打开文件进行写入,如果文件不存在则创建该文件。为避免出现错误,您可能需要在尝试删除文件之前检查该文件是否存在。- 追加 - 打开供追加的文件,如果不存在则创建该文件。- 创建 - 创建指定的文件,如果文件存在则返回错误。也可以指定文件是应该作为二进制还是文本模式进行处理。指定文件是应该作为二进制还是文本模式进行处理。删除文件,必须导入 OS 模块,并运行其。- 文本 - 默认值。检查文件是否存在,然后删除它。原创 2023-09-12 23:39:30 · 181 阅读 · 0 评论 -
爬虫工程师基础,python字符串
Python 中的字符串是表示 unicode 字符的字节数组。Python 没有字符数据类型,单个字符就是长度为 1 的字符串。指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。方法接受传递的参数,格式化它们,并将它们放在占位符。使用变量名称后等号和字符串,可以把字符串赋值给变量。方法在找到分隔符的实例时将字符串拆分为子字符串。方法接受不限数量的参数,并放在各自的占位符中。Python 在字符串上的内建方法。需获取字符串的长度,请使用。方法组合字符串和数字,方法返回大写的字符串。原创 2023-09-12 13:45:05 · 104 阅读 · 0 评论 -
爬虫工程师基础,Python入门指定变量类型
Python 是一门面向对象的语言,因此它使用类来定义数据类型,包括其原始类型。int()用整数字面量、浮点字面量构造整数(通过对数进行下舍入),或者用表示完整数字的字符串字面量float()用整数字面量、浮点字面量,或字符串字面量构造浮点数(提供表示浮点数或整数的字符串)str()用各种数据类型构造字符串,包括字符串,整数字面量和浮点字面量。原创 2023-09-11 22:14:35 · 113 阅读 · 0 评论 -
爬虫工程师基础,Python入门数字类型
浮点类型包含小数的正数或负数,同时浮点数也可以是带有“e”的科学数字,表示 10 的幂。导入 random 模块,并显示 1 到 20 之间的随机数。Int 类型是完整的数字,正数或负数,没有小数,长度不限。方法从一种类型转换为另一种类型。的内置模块,可用于生成随机数。复数用 “j” 作为虚部表示。Python 有一个名为。原创 2023-09-10 21:04:13 · 176 阅读 · 1 评论 -
爬虫工程师基础,python入门数据类型
在python变量中可以存储不同类型的数据,在这些类型中,Python 默认拥有以下内置数据类。在 Python 中,为变量赋值时,会设置数据类型。如果希望指定数据类型,可以使用通过。变量名赋值=指定数据类型(参数)函数获取任何对象的数据类型。函数打印变量a的数据类型。原创 2023-09-07 19:07:54 · 159 阅读 · 1 评论 -
爬虫工程师基础,网页结构是怎样构成的
爬虫程序之所以可以抓取数据,是因为爬虫能够对网页进行分析,并在网页中提取出想要的数据。网页一般由三部分组成,分别是 HTML(超文本标记语言)、CSS(层叠样式表)和 JavaScript(简称“JS”动态脚本语言),它们三者在网页中分别承担着不同的任务。HTML 负责定义网页的内容CSS 负责描述网页的布局JavaScript 负责网页的行为。原创 2023-09-06 20:59:27 · 1059 阅读 · 1 评论 -
爬虫工程师基础,Python变量详解
如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,只能在函数内使用。变量可以使用短名称(如 a和 b)或更具描述性的名称(age、carname、total_volume)。在函数外部创建的变量,就可以称为全局变量,全局变量是可以被函数内部和外部的使用的。Python 可以在一行中为多个变量赋值,也可以在一行中为多个变量分配相同的值。变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)在函数外部创建a变量,并在函数内部使用变量对赋值。在函数内部更改全局变量的值,使用。原创 2023-09-05 11:29:12 · 143 阅读 · 1 评论 -
爬虫工程师入门,Python语法基础
缩进是指代码行开头的空格,在其他编程语言缩进主要是为了代码可读性,而在Python中缩进是非常重要的一点。Python是用缩进来表示代码块的。由于 Python 将忽略未分配给变量的字符串文字,因此您可以在代码中添加多行字符串(三引号),并在添加注释。必须在同一代码块中使用相同数量的空格,否则 Python 会出错。在Python中要添加多行注释,可以为每行插入一个 #在 Python 中,变量是在为其赋值时创建的。Python 对编写的代码进行注释的功能。在测试代码时,可以使用注释来阻止执行。原创 2023-09-05 08:32:07 · 73 阅读 · 1 评论 -
爬虫工程师基本功,什么是静态网页与动态网页
静态网页相对的几个最重要的优点,就是它相对稳定,静态网页的内容相对固定,且不需要连接后台数据库,因此响应速度非常快,更利于SEO,像百度搜索引擎,道理也是一样的。因为像百度谷歌这种搜索引擎,因为它们爬取的网站太多了,它们不可能针对每个网站去分析它们的请求,所以它们一般直接分析HTML返回的内容是什么,它就是什么。静态网页就是直接固定的数据,数据直接是在Html返回的时候,Html中已经包含了相应的数据,这个数据对爬虫来说最友好的。爬虫只需要请求数据,不用再去单独的分析,将请求直接从页面中去提取出数据。原创 2023-09-03 18:22:16 · 1396 阅读 · 0 评论 -
爬虫工程师基本功,前端基础
AJAX是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AJAX =异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。json格式json产生作用:跨语言传输的数据格式。原创 2023-09-02 16:58:31 · 930 阅读 · 0 评论 -
爬虫工程师内功修炼,什么是HTTP协议
它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering TaskForce)合作的结果, (他们)最终发布了一系列的RFC。HTTP协议永远都是客户端发起请求,服务器回送响应,这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。http协议是单向的。灵活:http可以传递任意类型的数据对象。原创 2023-09-02 10:39:13 · 34 阅读 · 0 评论 -
Socket编程,客户端与服务端是如何通信的
Socket英文翻译理解,插座。插座上有火线和零线,地线,就可以把它分别比作为IP地址和端口等。Socket本身并不是一个协议,是一个套接字,操作系统为了方便大家直接使用tcp协议而存在的一个抽象层,它把复杂的tcp/ip协议隐藏在接口后面。端口存在的意义是什么IP地址可以定位到一台服务器,而服务器上有多个应用程序存在,那如果多个应用程序都在向外发数据,接收数据,这个数据一定是存在乱套的,就提出了端口这么一个概念。原创 2023-09-01 20:41:35 · 236 阅读 · 1 评论 -
爬虫工程师内功修炼,全面了解计算机网络协议
作为爬虫工程师,计算机网络里主要学习的就是网络协议,网络协议特指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。不同终端设备的数据转发是通过网络协议来完成的,整个互联网可以说是完全由协议来维持的。给大家推荐两本有关计算机网络书,大家可以看一下,都比较经典。计算机网络(自顶向下的方法。) TCP/IP协议族。TCP协议,TCP协议负责把传输的数据分解成一定长度的片段,TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。原创 2023-08-31 15:42:40 · 1173 阅读 · 0 评论 -
虚拟环境在windows.Linux, mac系统环境下安装与配置
第二个问题就是如果不同的项目依赖着Python的版本不一样,比如说接手的项目是PY2.7的,那你就不能随便改,而此时又有新的项目,它又是Python3.6的。第一个问题是假如现在开发了多个Python的项目的,不同的项目它依赖包一般情况下是不一样的,不同的项目里面用了同一个包,有时候两个项目他们的版本不一样,也就是说我们一个项目依赖的是比如说3.4的版本,一个项目依赖的是5.0的版本。注意: virtualenvwrapper.sh文件的路径在不同的电脑上可能不一样,可以先通过。编辑.bashrc文件。原创 2023-08-29 07:00:00 · 116 阅读 · 1 评论 -
Mysql和Navicat在windows,linux,mac环境下的安装与配置
在安装的过程中,Mysql会提示我们输入账号和密码,这个时候大家一定要记住账号和密码,因为要连接数据库时会让我们输入一个root用户的密码,一定要记住这个密码。提醒一下:选择安装版本时会有三个版本,尽量不要使用Mysql 8.0以上的版本,因为它有些语法和之前的Mysql不太一样。图示上面看到安装文件很小,这是一个在线安装,它需要在安装的时候要去联网,而下面这个直接下载就可以直接安装。的方式安装,因为他会帮我们安装一些服务,比如说自启动的服务等。运行过程开始会安装wine,安装提示安装即可。原创 2023-08-28 20:22:25 · 117 阅读 · 0 评论 -
Python在Linux和Mac系统环境下的安装和配置
很多linux操作系统会默认安装python和python3,大家可以在终端中输入python或者python3就能查看是否默认安装了py2和py3的版本,如果没有安装可以使用。window环境下安装Python直接下载安装包即可安装,下面介绍一下Linux环境下如何安装Python。本文仅仅简单介绍了Python在不同系统下的安装和搭建,也是自己学习总结希望能对大家有所帮助。这个是ubuntu的安装源的包名,不同版本的linux包名可能不一样。安装完成以后可以终端中输入: pip3 查看是否安装成功。原创 2023-08-28 10:14:55 · 125 阅读 · 0 评论 -
python基础环境部署所遇到所有问题总结
随着大数据行业在国内兴起,爬虫工程师逐渐从幕后走向台前,帮助企业挖掘互联网数据的矿产,很多人都开启了python爬虫学习,就把自己的学习笔记分享给大家。原创 2023-08-25 21:06:55 · 58 阅读 · 0 评论