
python爬虫教程
文章平均质量分 96
从零开始学python爬虫
攻城狮7号
(广交天下好友)个人主要从事多年c/c++研发,同时熟悉其他开发语言,涉猎跨平台客户端和底层开发,以及前后端开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python爬虫第22节- 结合Selenium识别滑动验证码实战
系统讲解结合Selenium知识进行滑动验证码的识别与破解流程原创 2025-05-28 09:52:53 · 4570 阅读 · 189 评论 -
Python爬虫第21节- 基础图形验证码识别实战
在互联网安全防护中,验证码是一道常见的"门槛",它们被广泛用于防止恶意爬虫和自动化攻击。随着技术进步,验证码的形式也日益多样化,从最初的简单数字字母组合,到如今的滑动拼图、点选图片、复杂干扰线等多种类型。对于数据采集和自动化测试来说,如何高效识别验证码成为了一个重要课题。本节将聚焦于最基础、最常见的"图形验证码",即由数字或字母组成的图片验证码。我们将介绍其识别原理、常用工具、图像预处理技巧,并通过代码实例带你一步步实现自动识别。threshold = 80 # 可根据实际图片调整。原创 2025-05-15 10:21:29 · 2312 阅读 · 214 评论 -
Python爬虫第20节-使用 Selenium 爬取小米商城空调商品
在实际数据采集和电商分析中,很多网站采用了前端渲染和复杂的 Ajax 请求,直接分析接口变得困难。小米商城就是这样一个典型案例。与淘宝类似,小米商城的商品列表和分页都依赖于前端 JavaScript 动态渲染,Ajax 接口参数复杂且可能包含加密校验。对于这种页面,最直接、最稳定的抓取方式就是使用 Selenium 模拟真实用户操作。本篇文章将以"空调"为例,详细讲解如何用 Selenium 自动化爬取小米商城的空调商品信息,包括商品名称、价格、图片链接、商品详情链接等,并实现自动翻页抓取。原创 2025-05-12 10:21:41 · 4989 阅读 · 207 评论 -
Python爬虫第19节-动态渲染页面抓取之Splash使用下篇
在网页数据抓取过程中,面对动态渲染的页面,Splash 工具凭借其强大的功能和灵活性,成为了开发者的得力助手。本文将继续上节的讲解,详细介绍 Splash 的对象方法、HTTP API 调用以及负载均衡配置,帮助你更好地利用 Splash 实现高效的页面抓取。原创 2025-04-24 09:02:26 · 1119 阅读 · 34 评论 -
Python爬虫第18节-动态渲染页面抓取之Splash使用上篇
Splash 是个 JavaScript 渲染服务,它相当于一个带有 HTTP API 的轻量级浏览器,并且和 Python 里的 Twisted、QT 库进行了对接。借助它,我们也能够实现对动态渲染页面的抓取。使用 Splash 能够实现下面这些功能:- 用异步的方式处理多个网页的渲染过程- 获取渲染后页面的源代码或者截图- 通过关闭图片渲染或者使用 Adblock 规则来加快页面的渲染速度- 可以执行特定的 JavaScript 脚本- 能够通过 Lua 脚本来控制页面的渲染过程。原创 2025-04-23 16:59:17 · 1534 阅读 · 12 评论 -
Python爬虫第17节-动态渲染页面抓取之Selenium使用下篇
目录引言一、获取节点信息1.1 获取属性1.2 获取文本值1.3 获取ID、位置、标签名、大小二、切换Frame三、延时等待3.1 隐式等待3.2 显式等待四、前进后退五、Cookies六、选项卡管理七、异常处理 这一节我们继续讲解Selenium的使用下篇,在利用Selenium进行网页操作时,获取节点信息以及应对各种相关场景是关键环节。很多人起初习惯通过获取网页源代码,再用解析库提取信息,但其实Selenium自身就蕴含着诸多更便捷的方式。接下来,我们就深入了解下如何借助Selenium直原创 2025-04-19 00:06:12 · 6759 阅读 · 166 评论 -
Python爬虫第16节-动态渲染页面抓取之Selenium使用上篇
本专栏之前的内容,我们讲了怎么分析和抓取Ajax,这其实是JavaScript动态渲染页面的一种情况。利用requests或者urllib,直接对Ajax进行分析,也能实现数据爬取。不过,JavaScript动态渲染页面可不只有Ajax这一种。就说中国青年网(网址是[http://news.youth.cn/gn/](http://news.youth.cn/gn/)),它的分页部分是用JavaScript生成的,不是原本的HTML代码,而且里面也没有Ajax请求。原创 2025-04-18 17:32:48 · 1511 阅读 · 2 评论 -
Python爬虫第15节-2025今日头条街拍美图抓取实战
在当今互联网时代,数据采集与分析已成为重要的技术能力。本教程将以今日头条街拍美图为例,详细介绍如何通过Python实现Ajax数据抓取的完整流程。今日头条作为国内领先的内容平台,其图片内容资源丰富,特别是街拍类图片深受用户喜爱。通过分析其Ajax接口,我们可以学习到现代Web应用的数据加载方式,掌握处理动态内容的爬虫开发技巧。原创 2025-04-17 00:10:02 · 2516 阅读 · 18 评论 -
Python爬虫第14节-如何爬取Ajax的数据
咱们在使用requests抓取网页的时候,常常会发现,得到的结果和在浏览器中看到的网页不太一样。在浏览器里,页面上的数据都能正常显示,可通过requests获取到的内容里,却没有这些数据。原因就在于,requests获取的只是最原始的HTML文档,而浏览器中呈现出来的页面,是对数据进行JavaScript处理之后才生成的。这些数据来源比较复杂,有的是通过Ajax加载过来的,有的原本就包含在HTML文档里,还有的是通过JavaScript结合特定算法算出来的。原创 2025-04-15 10:12:50 · 2052 阅读 · 17 评论 -
Python爬虫第13节-解析库pyquery 的使用
上两节我们讲了Beautiful Soup这个网页解析库,它确实很厉害。不过,大家用它的一些方法时,会不会感觉不太顺手?还有它的CSS选择器,用起来是不是觉得功能没那么强呢?要是你接触过Web开发,平时习惯用CSS选择器,或者对jQuery有一定了解,那我得给你介绍一个更称手的解析库,它就是pyquery。下面,咱们就一起来见识下pyquery有多厉害。原创 2025-04-12 00:09:49 · 1919 阅读 · 18 评论 -
Python爬虫第12节-解析库Beautiful Soup的使用下篇
到这里,关于BeautifulSoup的使用介绍基本就结束了。最后简单总结一下:- 建议优先使用 lxml 解析库,特殊情况需要时再用html.parser。- 用节点直接选择元素,筛选功能相对弱些,但速度快。- 推荐使用find、find_all方法来查询匹配单个或多个结果。- 要是你对CSS选择器比较熟悉,那就可以用select选择法。原创 2025-04-12 00:09:17 · 1014 阅读 · 3 评论 -
Python爬虫第11节-解析库Beautiful Soup的使用上篇
在之前的内容中,我们深入探讨了正则表达式的多种用法。然而,正则表达式并非十全十美,一旦出现编写错误或逻辑漏洞,最终得到的结果往往与我们的预期大相径庭。网页作为一种具有特定结构和层级关系的信息载体,许多节点都通过 id 或 class 进行了明确区分。那么,能否利用这些网页的结构和属性特点,找到一种更为高效、准确的提取方法呢?在本节中,我们将为大家介绍一个强大的网页解析工具 ——Beautiful Soup。它能够依据网页的结构和属性等特性,轻松地对网页进行解析。原创 2025-04-11 13:55:53 · 937 阅读 · 7 评论 -
Python爬虫第10节-lxml解析库用 XPath 解析网页
XPath以其简洁明了的路径选择表达式著称,并提供超过100个内置函数,涵盖了字符串、数值、时间等多种类型的匹配与处理能力。几乎任何想要定位的节点都可以通过XPath进行选择。自1999年11月16日成为W3C标准以来,XPath被广泛应用于XSLT、XPointer以及其他XML解析软件的设计中。若想深入了解其详细规范及相关文档,请访问官方网址:https://www.w3.org/TR/xpath/。至此,我们已经大致介绍了XPath语言的核心特性和主要用途。原创 2025-04-11 00:12:00 · 1633 阅读 · 5 评论 -
Python爬虫第9节-爬取猫眼电影排行数据的简单实战
这一节,咱们要抓取猫眼电影TOP100的相关信息,会用到requests库和正则表达式。requests库用起来比urllib更方便,而且到现在我们还没系统学习过HTML解析库,所以就决定用正则表达式来做解析工具。这一节,我们通过抓取猫眼TOP100电影的信息,实际操作练习了requests库和正则表达式的使用方法。这只是一个非常基础的例子,我们借助这个例子,对怎么实现爬虫有个初步的概念,同时对这两个库的使用有更透彻的理解。但是怎么对抗反爬虫,我们后续继续跟进。原创 2025-04-10 00:24:20 · 1753 阅读 · 6 评论 -
Python爬虫第8节-学爬虫必会的正则表达式
这一节,我们来了解正则表达式的用法。正则表达式是处理字符串的好帮手,它有着自己特定的语法。依靠正则表达式,不管是检索字符串、替换字符串,还是做匹配验证,都能轻松完成。尤其对爬虫来说,用它从HTML里提取想要的信息,能省不少事。原创 2025-04-09 11:15:02 · 503 阅读 · 7 评论 -
Python爬虫第7节-requests库的高级用法
上一节,我们认识了requests库的基本用法,像发起GET、POST请求,以及了解Response对象是什么。这一节,咱们接着讲讲requests库的一些高级用法,比如怎么上传文件,如何设置Cookies和代理。原创 2025-04-08 17:58:49 · 1427 阅读 · 4 评论 -
Python爬虫第6节-requests库的基本用法
前面我们学习了urllib的基础使用方法。不过,urllib在实际应用中存在一些不便之处。以网页验证和Cookies处理为例,使用 urllib 时,得编写Opener和Handler才能完成操作。为了更轻松地实现这些操作,功能更强大的 requests 库应运而生。利用 requests 库,管理Cookies、进行登录验证,以及设置代理等操作,都能轻松搞定。下面,我们先介绍 requests 库的基本使用方法。原创 2025-04-07 15:46:26 · 1040 阅读 · 22 评论 -
Python爬虫第5节-urllib的异常处理、链接解析及 Robots 协议分析
第一个`/`前面的是`netloc`,也就是域名,`/`后面的则是`path`,即访问路径;`parse`模块支持处理多种协议的URL,像`file`、`fp`、`gopher` ,还有日常常用的`http`、`https`,以及`imap`、`mailto`等。运行后能看到,`urlparse()`方法返回的结果是`ParseResult`类型对象,这个对象包含6个部分,分别为`scheme`、`netloc`、`path`、`params`、`query`和`fragment`。为啥要叫这些名字呢?原创 2025-04-07 14:13:50 · 1099 阅读 · 3 评论 -
Python爬虫第4节-请求库urllib的request模块使用
开始学习爬虫时,第一步就是要模拟浏览器给服务器发送请求。这个时候,你可能会有很多问题:该从哪里开始做呢?需不需要自己来构造请求?要不要去关心请求数据结构是怎么实现的?需不需要了解HTTP、TCP、IP层的网络传输通信原理?要不要知道服务器是怎么响应和应答的?你可能会不知道该怎么做,但别担心。Python很厉害,它有功能齐全的类库,能帮我们完成这些请求。最基础的HTTP库有urllib、httplib2、requests、treg等。原创 2025-04-03 10:55:03 · 1270 阅读 · 4 评论 -
Python爬虫第3节-会话、Cookies及代理的基本原理
因为Cookies里面携带了会话ID的信息,所以服务器检查这些Cookies之后,就能找到对应的会话,然后再判断用户的状态。要是会话中一些用来标记登录状态的变量是有效的,那就说明用户是处于登录状态的,服务器就会返回那些只有登录之后才能查看的网页内容,浏览器对这些内容进行解析之后,我们就能看到相应的页面了。就拿百度来举例吧,在浏览器的开发者工具中打开Application选项卡,在左侧的Storage部分,最后一项就是Cookies,把它点开之后,就能看到相关的Cookies信息了,就像下图所展示的那样。原创 2025-04-02 14:02:54 · 1567 阅读 · 9 评论 -
Python爬虫第2节-网页基础和爬虫基本原理
简单来说,爬虫是一种自动化程序,专门用来获取网页信息,再对信息进行提取和保存。下面为你简单介绍一下:(1)获取网页爬虫要做的第一件事,就是获取网页,确切地说是获取网页的源代码。因为源代码里包含着网页的一些有用信息,拿到源代码后,就能从中提取出我们需要的信息。之前我们讲过请求和响应的概念,向网站服务器发送请求,服务器返回的响应体就是网页的源代码。这里的关键,是要构造好请求,发送给服务器,然后接收响应并进行解析。原创 2025-04-02 10:40:47 · 3439 阅读 · 13 评论 -
Python爬虫第1节-HTTP基本原理
在着手开发爬虫程序之前,我们需要先掌握一些基础概念。本节将详细讲解HTTP的基本工作原理,重点分析从浏览器输入网址到获取网页内容的全过程。理解这些知识对后续掌握爬虫原理具有重要意义。接下来介绍超文本(hypertext)的概念。我们在浏览器中看到的网页,实际上就是由超文本解析呈现的。网页源代码由HTML代码构成,包含各种标签元素,比如显示图片的img标签、定义段落的p标签等。浏览器解析这些标签后,就形成了我们日常浏览的网页界面,而这些HTML源代码就是所谓的超文本。原创 2025-04-01 16:55:47 · 1157 阅读 · 0 评论