
Python爬虫入门、进阶与实战
文章平均质量分 82
根据网络资源自学Python爬虫的学习笔记
Vec_Kun
No progress without challenges.
展开
-
42. 疯狂爬取王者荣耀所有皮肤高清海报(文末源码)
阔别已久,各位粉丝朋友们。UP前段时间忙于期末和出国事宜,所以很久没有更新我们的爬虫专栏。今天开始我们继续不定期更新一些有趣的小案例,当然,不会很越界,UP本人使用爬虫也是够用即可~爬虫虽好,过度可是会喜提银手镯的!好了,闲话少叙,我们今天带来的是在王者荣耀官网批量下载所有英雄的皮肤图片,并按英雄名称归类放于同一个文件夹下,效果如图:怎么样,是不是特别井井有条,并且图片质量是很高的,下面就让我们开始今天的教程~原创 2023-08-09 19:52:58 · 541 阅读 · 2 评论 -
41. 基于selenium的各大购物平台自动秒杀系统(完整源码)
之前在38. 实战:基于selenium的某宝秒杀抢购系统(附完整代码),我们做了一个简易的淘宝秒杀系统,反响还是不错的,这一期我们对它进行一个升级,加入天猫和京东两大购物平台的秒杀系统,并且实现在控制台选择想要秒杀的平台和自定义秒杀时间的功能,看起来更加的高大上。还是挺综合的,把这些综合了起来,巩固了爬虫知识和编程思路吧,还是碰到不少绊子的。前段时间准备出国的材料就断更了,也没有怎么敲代码,实在是懒惰了,后面更新频率会快一点。原创 2023-03-19 23:04:04 · 1351 阅读 · 7 评论 -
40. 实战:基于tkinter实现用户UI界面——对34小节的VIP音乐解析系统的全面升级(附源码)
本节将升级34. 实战:基于某api实现歌曲检索与下载(附完整源代码),也将基于api实现视频解析播放的功能,并且还实现了用户UI界面,可以用pyinstaller等库导出exe来永久保存可执行文件。博主已经成功导出可执行文件,包括上一节的视频解析软件也已经导出。需要的小伙伴可以私信我或者评论区留言,我分享给你~本文实现了一个VIP音乐解析系统,能够通过关键字检索需要的歌曲,并且设计了用户界面,可以进行直观的交互行为,也能将目标歌曲下载到本地同目录下的Download文件夹中。原创 2023-03-08 17:12:21 · 1320 阅读 · 7 评论 -
39. 实战:基于api接口实现视频解析播放(32接口,窗口化操作,可导出exe,附源码)
本节将类似34. 实战:基于某api实现歌曲检索与下载(附完整源代码),也将基于api实现视频解析播放的功能,并且还实现了用户UI界面,随后大家也可以用py2exe等库导出exe来永久保存可执行文件。本例具有32个接口供大家解析,一般前面的就能够顺利解析出来了,看大家喜好~本节实现了输入任意视频链接,在用户UI窗口选择解析接口,点击解析按钮自动跳转到系统默认浏览器进行播放的功能,切记不要用于商业活动!本教程仅用于个人学习交流用途!原创 2023-03-04 21:15:48 · 7638 阅读 · 8 评论 -
38. 实战:基于selenium的某宝秒杀抢购系统(附完整代码)
每到购物节,某宝某东等购物平台就会有层出不穷的秒杀活动,但我们总会由于手速、网速等原因抢不到自己需要的低价商品,很是苦恼。这个时候我们的Python自动化脚本工具又可以登场了:利用selenium工具设计自动抢购系统,到点自助下单就可以咯~本节以某宝为例,给大家做一个简要的演示。本节我们使用老朋友selenium进行了一系列的操作,实现了某宝秒杀商品的购买,还是很有实用价值的,很适合新手小白练手。有什么配置问题或者其他技术问题,又或者是建议等都可以评论或者私信我哦~每一条都会回复的。原创 2023-03-04 16:34:24 · 2439 阅读 · 8 评论 -
37. 实战:Xpath+线程池实现抓取任意完整小说一千余节到本地txt文件/模板任意小说网站可套用(附源码)
本来是想实现抓取番茄小说的,但是它虽然免费,当我写完全部代码的时候才发现后面的部分只能下载APP看,真是坑人......还好我把函数都封装了,整体逻辑是不变的,最终选择了另一个免费小说网——笔趣阁作为案例。老规矩,我还是把链接放在评论区,不然审核不过的同时我也会把番茄小说的放到最后的完整代码部分供大家借鉴。本节实现了给定小说URL,使用Xpath+线程池实现抓取任意完整小说,并分章节按顺序保存到本地txt文件的任务。原创 2023-02-02 12:07:24 · 2146 阅读 · 8 评论 -
36. 实战:基于上一节的全面升级——实现某音批量下载功能
上一节我们实现了某短视频平台的去水印下载功能,本节我们实现批量抓取:给定某一个用户主页,抓取他的全部视频。本节基于多线程实现了高效批量抓取任意主页的全部视频,只需要替换主页URL即可。示例URL我放在评论区了,有需要的自取即可!也可以选自己喜欢的博主测试一下。原创 2023-02-01 11:01:10 · 747 阅读 · 6 评论 -
35. 实战:Python实现视频去水印(文末源码)
我们在刷某短视频平台时,有些视频我们想保存到本地观看,但未开放下载渠道,或者我们想下载来收藏或者做成动态壁纸,但是有水印,就很恼火。网页连接放评论区 网页连接放评论区 网页连接放评论区 网页连接放评论区就这个问题,我们写一个小小的程序来实现去水印的功能。本节实战了某短视频平台视频去水印的过程,较为综合,适合巩固爬虫基础知识。原创 2023-01-31 17:46:37 · 10390 阅读 · 20 评论 -
34. 实战:基于某api实现歌曲检索与下载(附完整源代码)
本节将介绍基于Python和某api实现的歌曲检索与批量下载功能的实现。(相关链接在评论区)本节基于某api获取直链,在某音乐平台获取搜索列表,从而拿到音乐唯一的rid,替换直链从而访问到歌曲的直接下载链接。整个过程比较经典,适合小白练手。原创 2023-01-31 15:18:58 · 1642 阅读 · 15 评论 -
33. 实战:实现某网站店铺信息的查询与批量抓取(附源码)
近日,我们每周四都能刷到一堆“疯狂星期四”的梗图或者消息,那么如果真的Vivo50,我们该去哪里消费呢?假设我们来到一个新的城市,或者想知道我们爆了50金币网友所在的城市到底有没有相关店铺该怎么办?那么我们就可以来进行一个小小的爬虫,一次编程,方便后面的每一次查询。本节我们练习了抓取指定关键词的某快餐所有店铺信息,较为综合,主要学习思路,可以举一反三。原创 2023-01-28 12:52:08 · 1225 阅读 · 3 评论 -
32. 实战:PyQuery实现抓取TX图文新闻
我们之前提到PyQuery区别于其他几种解析方式的最大优势就是可以“修改源代码”从而便于我们提取信息。今天我们以TX新闻为例,对这个解析的优势作一个简要的介绍。本节我们学习认识了用PyQuery修改html源代码从而能够改变html传递的信息,帮助我们更方便的获取并解析信息。原创 2023-01-27 22:14:20 · 363 阅读 · 2 评论 -
31. 实战:PyQuery获取小电视Top100详细信息(文末源码)
上一节我们学习了PyQuery的语法,这节进行实战,抓取某站(链接放在评论区)的热搜排行榜作为练手。涉及的库:openpyxlrequests(logging)PyQuery本节我们对PyQuery进行了实战,实现了抓取某站全站排行榜Top100的详细信息。原创 2023-01-26 11:43:38 · 739 阅读 · 2 评论 -
30. PyQuery: 基于HTML的CSS选择器
我们在前面的章节认识了CSS与CSS选择器的概念, 本节我们介绍一个Python模块: PyQuery.可能有些小伙伴认识Java中的JQuery, 其实PyQuery和它是异曲同工的.1. pyquery(选择器)2. items() 当选择器选择的内容很多的时候. 需要一个一个处理的时候3. attr(属性名) 获取属性信息4. text() 获取文本本节我们讨论了PyQuery的基本用法和他的特殊之处,下一节将进行实战练习,用实例展示何时用PyQuery最合适。原创 2023-01-25 14:13:44 · 906 阅读 · 2 评论 -
29. CSS简介:PyQuery模块的铺垫
CSS指的是层叠样式表* (CascadingStyleSheets)CSS描述了如何在屏幕、纸张或其他媒体上显示 HTML 元素CSS节省了大量工作。它可以同时控制多张网页的布局外部样式表存储在CSS 文件中注:也称级联样式表。原创 2023-01-21 11:20:36 · 660 阅读 · 1 评论 -
28. 实战:基于selenium实现12306自动购票
我们已经学会了selenium的基本操作,并且学会了用它处理验证码、跳转网页、处理内联框架等操作,现在可以进行实战:本节选取12306火车购票作为案例,用自动化测试工具selenium实现自动访问网页并下单等待购票。2023-01-20更新:完善了全部功能并可以完整运行本节是基于selenium的浏览器自动化操作的实例,较为综合,涉及的知识点也比较多,仅供小伙伴们参考学习,请勿用于其他用途!不太明白的小伙伴可以移步我之前发布过的selenium基础和简单的验证码实战完整代码运行效果。原创 2023-01-19 17:31:48 · 9518 阅读 · 33 评论 -
27. 处理网站验证码:处理网站登录验证码(selenium+破解工具)
当我们请求网页过于频繁时,或者进行登陆操作时,网页通常都会抛出人机验证,目的就是反爬,常见的有滑块验证、验证码、按顺序点击等形式...那么遇到这种情况,我们如何通过程序自动验证从而跳过人工操作实现全自动化呢?这就涉及到了一个新的知识:图像识别。我们可以通过建立数据集、训练数据集、生成模型等机器学习方法来实现识别验证码图片的功能,但它特别耗时耗力,效率还底下,还没有普适性...除非是有大量的请求要求在此域名下,就可以训练一波数据集,否则真的很浪费时间精力,没有必要。那么第二种方法应运而生:它就是。原创 2023-01-17 02:24:17 · 1855 阅读 · 2 评论 -
26. selenium:浏览器自动测试模块——一款方便且能装X的爬虫工具(附多个实例)
爬虫走到今天,我们已经学习过不少方法,来解析网页源代码、抓包、审查元素、加密解密......但是我们有时会不会这样想:可不可以直接拿到浏览器直接显示的信息呢???因为我们经常看到,数据明明就摆在我们浏览器的页面上,但是苦于源代码的空洞,我们不得不翻箱倒柜的去找json,去找js请求等等。很多时候数据特别隐蔽,令人十分崩溃,有时甚至会想直接在浏览器CV了之!所以,有想法,那就解决!你不是能显示在浏览器上吗?你不是能CV不能截取信息吗?OK,我让Python自动帮我运行浏览器,拿我想要的内容。原创 2023-01-16 16:48:25 · 2090 阅读 · 3 评论 -
25. 实战:抓取《未闻花名》视频(xpath+线程池)
我们已经学习了爬虫的许多方法,本节较为综合,实现抓取某网站(链接在评论区)的视频。本节以《未闻花名》为例,其他资源可以自行修改URL进行抓取,大同小异。本节只对一集进行抓取,对于其他剧集可以通过嵌套循环简单地完成,这里就不赘述。本节较为综合,运用多方面知识对某网站(链接在评论区)(链接在评论区)(链接在评论区)《未闻花名》动漫作了简单的爬取,适合新手小白训练,涉及多个模块,可以锻炼能力。原创 2023-01-15 16:16:48 · 374 阅读 · 3 评论 -
24. 实战:用异步法获取完整的一部小说
我们已经学会了异步爬虫的框架和简单的示例,详见23. 异步HTTP请求与aiohttp模块。本节我们通过一个实战来巩固异步爬虫的用法:抓取整部小说的内容。本节我们学习了异步爬虫的实战,爬取了一整本小说(这里我以西游记为例,大家可以自己爬点别的,换URL就行了)。下面我们将学习视频的抓取(m3u8格式)。原创 2023-01-11 20:59:30 · 678 阅读 · 7 评论 -
23. 异步HTTP请求与aiohttp模块
在上一节中,我们发现time.sleep()不是异步的,导致我们的异步函数无法按异步执行。实际上,requests模块的网络请求函数,get()、post()等也都不是异步的。所以我们想用它们做异步爬虫与网络请求时,就必须使用异步的HTTP请求,从而让异步函数正常工作。那么在Python中如何实现异步HTTP请求呢?这就需要用到我们本节要介绍的新模块——aiohttpasyncio可以实现单线程并发IO操作。如果仅用在客户端,发挥的威力不大。如果把asyncio。原创 2023-01-11 15:52:22 · 408 阅读 · 2 评论 -
22. 协程与Python中的多任务异步协程
本节我们介绍一个新概念:协程。协程顾名思义,是协助执行程序的过程。我们将介绍协程的概念和其在Python中的应用。我们今天认识了协程和异步爬虫,一步步逐步认识了异步的优点,进一步提高了我们的程序效率。原创 2023-01-10 13:12:53 · 584 阅读 · 1 评论 -
21. 实战:多线程+xpath抓取大量菜价信息(四种方法)
我们学习了多线程、多进程对于提高效率的方法,我们现在就来尝试批量抓取之前尝试过的某菜价信息网站的大量菜价信息(链接放在评论区)目的用多线程批量抓取菜价信息思路1. 实现抓取单个页面的函数2. 创建线程池,批量执行上述函数3. 写入文件注:我将详细讲述多线程法,之后展示多进程法,并且数据解析方式会用bs4和xpath两种方法。原创 2023-01-08 14:29:47 · 411 阅读 · 2 评论 -
20. 线程池与进程池
我们认识了进程、线程,也了解了多进程和多线程对于执行效率的好处,那么我们该怎么将它很好的运用于实战呢?比如我们要创建一百个线程,总不能用t0=Thread一直到t99=Thread吧,这样效率是极低的。所以我们引入一个新概念:线程池与进程池。我们本节学习了线程池与进程池的用法,下一节我们将通过实战练习线程池的用法。原创 2023-01-06 17:17:44 · 220 阅读 · 1 评论 -
19. 多线程与多进程
首先介绍基本概念进程是资源单位,而线程是执行单位,一个进程至少包含一个线程。启动每一个进程默认有一个主进程。Python中的多线程是通过Thread类来实现的。今天我们认识了线程、进程的概念,学习了如何在Python中调用多线程方法Thread类、多进程方法Process等,用几个简单的例子深入理解了上述概念。原创 2023-01-05 15:59:08 · 155 阅读 · 1 评论 -
18. 概述如何加快爬虫效率
我们以前做过的爬虫项目都是小体量的工程,很快就能完成。但我们以后肯定要面对一个现实的问题:假如我们要抓取成千上万条数据呢?访问成千上万此页面循环执行一段代码,效率显然是不够高的。那么怎样才能提高效率呢?这就是我们即将展开说的内容。加快效率的方法有很多种。比如我们做几件事情,可以通过统筹安排让这几件事同时进行,最后达到节约时间的效果,这个方式在计算机中也可以实现,它叫作多线程。原创 2023-01-05 13:53:27 · 255 阅读 · 1 评论 -
17. 实战:手把手通关某音乐平台热门评论
众所周知,某音乐平台的评论区金句频出,热门评论更是美不胜收,我们也想要批量获取这些信息来做信息分析,数据处理等工作,也可以陶冶自己的情操,一举多得。所以我们今天来尝试获取某音乐平台的评论区。# 1. 找到未加密的参数 # window.arsea(参数, xxxx,xxx,xxx)# 2. 想办法把参数进行加密(必须参考网易的逻辑), params => encText, encSecKey => encSecKey# 3. 请求到网易. 拿到评论信息。原创 2023-01-05 02:35:34 · 273 阅读 · 3 评论 -
16. 网络代理
你是否遇到过这样的情况:当我们在短时间反复抓取一个网站时,由于请求过于频繁,或者请求网络的时候没有关闭请求端口(resp.close()),服务器就会对我们的IP进行封锁达到反爬的目的。这个时候我们该怎么办?答案就是通过网络代理的方式来解决。在这里特别说明:网络代理深入了解的话会涉及到一些灰色产业,我们不到万不得已千万不要贸然去使用。原创 2023-01-04 22:59:35 · 410 阅读 · 1 评论 -
15. 防盗链的处理:获取某视频网站的视频资源
我们在上一节学习了一些Request的进阶用法和session会话的概念以及很多安全校验信息。那么这一节我们将以某视频网站(链接在评论区)为例,展示一下我们的学习成果。目的抓取某视频网站已知页面所包含的视频资源并保存到本地,绕过网站的反爬手段:防盗链。原创 2023-01-04 18:15:38 · 3487 阅读 · 2 评论 -
14. Requests进阶:处理登录信息与Cookie
我们在前面的爬虫学习过程中已经用过headers了,对它并不陌生。Header为HTTP协议中的请求头,⼀般存放⼀些和请求内容无关的数据,有时也会存放⼀些安全验证信息。比如常见的User-Agent, token, cookie等。通过requests发送的请求,我们可以通过headers保存请求头信息来处理cookie等,也可以单独进行存放,最后由requests来帮我们自动拼接成完整的http请求。本章我们将引入一个新的概念:会话(session)。原创 2023-01-03 21:05:58 · 902 阅读 · 1 评论 -
13. 实战:XPath法抓取某网站外包信息
我们通过前面小节的学习已经了解了XPath的基本语法,这一节我们将以一个比较复杂的网站来试水,它的标签嵌套十分多而且复杂,足够让我们来练习。XPath解析方法可以和文件路径与bs4作类比,我个人觉得它特别像两者的结合体,把他们的优点集合到一起,取长补短进行互补。我们本节通过一个比较复杂的实战案例实现外包网站报价等信息的获取,巩固了XPath解析的知识和运用能力。下一节开始我们将对requests模块进行进阶学习。原创 2023-01-03 02:03:24 · 525 阅读 · 4 评论 -
12. XPath解析入门
XPath是一门在 XML 文档中查找信息的语言。XPath可用来在 XML 文档中对元素和属性进行遍历。而我们熟知的HTML恰巧属于XML的⼀个子集,所以完全可以用XPath去查找html中的内容。原创 2023-01-02 19:01:53 · 554 阅读 · 1 评论 -
11. 实战:bs4法抓取网页图片并保存到本地文件夹
我们通过前面几节的学习已经了解到bs4模块对于我们抓取网页的方便之处,也通过一个实例实践了抓取某网站菜价。本节我们以某图片网为例(链接放评论区),实现抓取唯美壁纸栏目的内容并保存到本地文件夹。目标今天我们操作了bs4的一个实战例子,运用bs4模块对某网站的唯美壁纸进行批量下载到本地文件夹的操作,提升了爬虫技术。下一节我们将开始xpath的教学。原创 2023-01-02 12:13:40 · 1592 阅读 · 6 评论 -
10. 补充实例:js动态请求菜价网页的爬取
爬取菜价的典型案例是北京新XX网站,但是它页面已经改版,无法通过bs4解析方式进行爬取。我们通过分析发现它是通过js动态请求表格的,所以我们再次对它见招拆招。我们今天补充了一个北京某批发网站菜价获取方式,“破解”了它试图通过动态js请求拦截我们爬取数据的行为,还是比较简单的。希望大家继续一起努力一起加油!原创 2022-12-31 18:01:01 · 269 阅读 · 2 评论 -
09. bs4解析基础与实例
我们已经具备了基本的HTML知识,能够简单的识别HTML源代码中的各类元素。这一节我们将正式学习bs4的用法,并用一个实例来展示它的方便之处。可以说,相比于正则法,bs4是非常简单的。今天我们认识了bs4解析方式,也以一个实例进行训练,获取了某网站的菜价,明显感觉到bs4比起正则的简单与便捷。当然,我们也应铭记不要对网站进行高频词的访问,不然就类似于DDoS攻击了,对于网站服务器很不友好。原创 2022-12-31 16:10:31 · 754 阅读 · 4 评论 -
08. bs4解析的准备——了解HTML基础
本专栏将会介绍三种解析方法:re正则法、bs4、xpath。我们之前已经学习了re正则法解析网页数据,并且进行了两个实例项目的搭建,基本掌握了此种解析方法。之前学习正则解析法的时候我们也学习了一些必备的基础知识——正则表达式等。那么我们学习其余的解析方式之前,不得不面对一个现实的问题,那就是要认识一下HTML源代码。原创 2022-12-30 16:13:43 · 127 阅读 · 1 评论 -
07. 实战:Python正则法抓取某网站2022必看片迅雷种子
上一节我们讲到了Python正则法抓取某电影网Top250信息,这一节再进行一个简单的正则法抓取例子:抓取“盗版天堂”的迅雷种子资源!我们今天又用正则法爬取2022必看电影名和其迅雷下载链接,再次锻炼了re模块的使用方法。下一期我们将简要介绍一下HTML语法,方便我们今后bs4和xpath的学习。关于 HTML教程我主页已经有一个专栏供大家学习了,这里放个传送门HTML教程。原创 2022-12-30 11:56:21 · 1160 阅读 · 2 评论 -
06. 实战:Python正则法抓取某电影网Top250信息
经过前面几节的学习,我们现在终于具有做小项目的能力了。我们的目标就是我们之前涉及过的某电影排行榜,利用爬虫工具抓取Top250,用来练手。今天我们学习了如何用已学的基础知识来手撕一个小程序,实现爬取某电影排行榜。使用了re正则方法来爬取信息,进一步熟悉了此种爬虫方式,大家感兴趣的话也可以自己找找其他感兴趣的网页尝试爬取对应的信息。不过记得一定要适度,不要频繁访问导致ip被禁用~还要记得resp.close()来关闭请求端口,以免端口占用过多导致无法访问网页。原创 2022-12-29 16:54:34 · 870 阅读 · 1 评论 -
05. 数据解析、正则表达式与re模块
在前几节中,我们基本掌握了抓取整个网页的基本技能,但是大多数情况下,我们并不需要整个网页的内容,譬如网页框架、广告、网页通知等。我们想要只抓取我们需要的目标数据,该怎么去处理呢?这就涉及到了数据解析!我们将一共学习三种解析方式:1. re解析2. bs4解析3. xpath解析这三种方式并不局限于单独使用,可以根据需求混合进行使用,我们写爬虫是完全以结果作为导向的,正所谓不管黑猫白猫,能抓得到耗子就是好猫嘛!只要能拿得到我们想要的数据,用什么方案并不重要。原创 2022-12-29 15:10:40 · 355 阅读 · 1 评论 -
04. requests模块入门与三个案例(搜狗搜索/百度翻译/豆瓣电影)
在前面小节中,我们使用urllib来抓取页面源代码,这是python内置的一个模块,但它并不是我们常用的爬虫工具。常用的抓取页面的模块是第三方模块——requests。这个模块的优势就是比urllib还要简单,并且处理各种请求都很方便。本节我们学会了requests模块的安装,成功编写了三个简单的爬虫案例,认识了两种不同请求方式的requests用法,增添了学习兴趣,增强了编程的自信心,希望大家可以和我一起共同进步,一起努力~原创 2022-12-28 18:19:52 · 1062 阅读 · 3 评论 -
03. HTTP协议
HTTP协议基本概念请求:响应:请求头中最常见的⼀些重要内容(爬虫需要):响应头中⼀些重要的内容:请求方式:总结HTTP: Hyper Text Transfer Protocal 超文本传输协议,即浏览器和服务器之间数据交互遵守的协议,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。HTTP协议把一条消息分为三大块内容,无论请求还是响应都是三块内容响应:后面我们写爬虫的时候要格外注意请求头和响应头,这两个地方通常都隐含着一些重要的内容。原创 2022-12-28 15:46:57 · 271 阅读 · 1 评论