1.前情回顾
在之前的博文中,已经有两篇文章关于书籍信息的爬取采集。大家可以查阅下,看下爬取的操作步骤。本次依旧是给大家带来一篇小说网站数据爬取实战,希望大家看完后,可以随心所欲的获取到自己喜欢的书籍。影刀跑一跑,看书没烦恼! 影刀RPA实战:网页爬虫之苦瓜书籍数据_如何用影刀爬微信读书页面-CSDN博客文章浏览阅读692次,点赞9次,收藏5次。通过影刀RPA进行书籍数据的爬取,我们不仅能够高效地获取大量书籍信息,还能通过自动化的方式节省人力和时间。本次实战展示了影刀RPA在数据采集方面的强大能力,同时也提醒我们在爬取数据时要注意合法合规,尊重数据的版权和隐私。书籍作为知识的源泉,其信息的获取和整理对于学术研究、市场分析等领域都具有重要意义。影刀RPA为我们提供了一种高效、便捷的方式来探索和利用这些宝贵的知识资源。_如何用影刀爬微信读书页面https://blog.csdn.net/ddf128/article/details/142354838?spm=1001.2014.3001.5501
2.实战目标
本次的爬取实战,不是批量爬取,大家可以参照前2次的文章,自己修改成批量爬取
2.1 流程步骤
- 首先确定要爬取的小说名称,我们在网站上通过搜索,定位到小说的章节页面
- 在小说的章节页面,通过影刀页面元素指令,获取所有的章节名称与链接地址
- 循环小说章节,打开每个章节的页面,获取小说内容
- 依据小说名称创建文件夹,在该文件夹下依次创建章节txt文本,存放小说内容
2.2 页面分析
小说名称的获取:影刀指令-获取元素信息
小说章节获取:影刀指令-数据抓取
小说内容:XPath获取,获取div属性ID的内容
3.实战代码
3.1 实战最终结果
设定好小说的存放物理地址,操作代码时直接引用就行
3.2 实战代码
核心操作:
- 获取小说名称创建存放目录
- 获取小说章节创建文件
- 获取小说内容,写入文件中
3.3 难点解析
获取小说内容,我们使用的是XPath
XPath是XML路径语言(XML Path Language),是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。我们依据它就能定位到网页元素的位置,结合影刀获取其对象属性。
XPath操作:
点击第1步的图标,定位网页中的数据元素
找到标记ID的元素,我们右键点击copy菜单
点击 copy XPath,就获取到了节点
在影刀中使用:
- 选择定位方式:XPath选择器
- 将我们复制的XPath路径粘贴到XPath选择器
3.4 动态演示
4.影刀RPA与Python爬取比较
4.1 易用性
影刀RPA:
具有非常高的易用性,采用可视化的操作界面,用户通过拖拽、点击等简单操作即可完成数据爬取流程的搭建,无需具备专业的编程知识,即使是非技术人员也能快速上手。比如在抓取电商平台的商品信息时,用户可以轻松通过影刀 RPA 的界面操作完成数据抓取任务的设置。但是对于一些复杂的逻辑处理和个性化需求,可能在操作上会有一定的局限性,需要通过较为复杂的流程组合来实现。
Python:
Python是一种强大的编程语言,对于有编程基础的人来说,可以灵活地编写各种复杂的数据爬取逻辑,能够高度定制化地满足各种特殊需求。例如,对于需要深度解析网页中复杂的 JavaScript 代码来获取数据的情况,Python 可以通过相关的库和技术来实现。Python学习成本相对较高,需要掌握一定的编程语法、算法和数据结构等知识,对于初学者来说,可能需要花费较长的时间来学习和实践才能熟练运用 Python 进行数据爬取
4.2 开发效率
影刀RPA:
在简单和常规的数据爬取任务中,开发效率非常高。因为它不需要编写复杂的代码,只需要按照业务流程进行操作的配置即可,能够快速地搭建起数据爬取的流程。例如,对于一些结构相对简单、数据规则明确的网页,使用影刀 RPA 可以在短时间内完成数据爬取的设置。当遇到一些特殊情况,如网页结构频繁变化、需要进行复杂的验证码识别等,影刀 RPA 的配置可能会变得较为复杂,开发效率会受到一定影响。
Python:
对于熟悉 Python 的开发者来说,在处理复杂的爬取任务时,开发效率较高。一旦掌握了相关的库和技术,能够快速地编写代码来应对各种复杂的情况,并且可以方便地进行代码的调试和优化。对于简单的数据爬取任务,编写代码的过程相对较为繁琐,开发效率可能不如影刀 RPA。例如,只是抓取一个简单网页上的少量数据,使用 Python 编写代码的时间可能会比使用影刀 RPA 的配置时间更长。
4.3 稳定性与可靠性
影刀RPA:
模拟人类的操作行为,与各种软件和系统的兼容性较好,在正常情况下运行较为稳定。而且影刀 RPA 通常有较好的错误处理机制,当遇到网络异常、页面加载缓慢等问题时,能够较好地进行处理,保证数据爬取的连续性。如果目标网站的界面或操作流程发生较大变化,可能会导致之前配置好的影刀 RPA 流程无法正常运行,需要重新进行配置和调试。
Python:
代码的可控性强,开发者可以根据具体的需求进行详细的错误处理和异常处理,保证程序的稳定性。并且 Python 的爬虫程序可以通过不断地优化和改进,提高其稳定性和可靠性。在网络环境不稳定或者目标网站反爬虫措施较强的情况下,Python 爬虫程序可能会出现异常,需要开发者进行大量的调试和优化工作来保证其稳定性。
4.4 反爬虫应对
影刀RPA:
由于影刀 RPA 模拟的是人类的操作行为,相对来说不太容易被目标网站识别为爬虫程序,在一定程度上可以降低被反爬虫机制拦截的风险。如果目标网站的反爬虫机制非常严格,对操作的频率、行为模式等进行了严格的监控,影刀 RPA 的操作也可能会被识别为异常行为而被拦截。
Python:
开发者可以通过使用代理 IP、设置随机请求头、模拟用户登录等方式来应对反爬虫机制,具有较高的灵活性和可操作性。Python 爬虫程序的代码特征相对较为明显,容易被目标网站的反爬虫系统识别,需要开发者不断地调整和优化反爬虫策略。
4.5 数据处理能力
影刀RPA:
在数据处理方面,影刀 RPA 可以方便地与 Excel、数据库等进行交互,能够快速地将爬取的数据进行存储和整理,对于一些简单的数据处理操作,如数据筛选、排序等,可以通过内置的功能轻松实现。对于复杂的数据处理和分析任务,影刀 RPA 的能力相对有限,可能需要与其他数据处理工具或编程语言进行配合使用。
Python:
Python 具有强大的数据处理和分析能力,拥有众多的数据处理库和科学计算库,如 Pandas、NumPy 等,可以方便地进行数据清洗、转换、分析和建模等操作,能够满足复杂的数据处理需求。在与外部工具的交互方面,可能需要一定的代码编写和配置,相对来说不如影刀 RPA 那么便捷。
一切从实际出发,选择你最顺手的去实现需求!
5.最后
感谢大家,请大家多多支持!