![](https://img-blog.csdnimg.cn/direct/32de9deecaee4bd5bc2bfcc8bd041e16.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
爬虫实习期
文章平均质量分 70
以个人爬虫经验为思路,分享学习爬虫中遇到的问题和如何解决的方法,作为学习记录。
黑色史莱姆
爱玩蟒蛇和喜欢跟土拨鼠打交道的后端开发者
Gitee:https://gitee.com/xiuyusheng
Github:https://github.com/xiuyusheng
1024Code:https://1024code.com/~PAIDAXING
展开
-
python爬虫中有哪些常用的数据存储的api库?
根据项目需求,开发者可以选择一个或多个库来完成数据的抓取、处理和存储。例如,对于小型项目,可能直接使用CSV或JSON格式存储即可;而对于需要复杂查询和持久化操作的应用,可能会选择SQLite、MongoDB或其他数据库解决方案。原创 2024-02-06 22:08:56 · 312 阅读 · 0 评论 -
Python操作mysql库【PyMysql】
PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,允许 Python 开发者使用 Python 代码操作 MySQL 数据库。它旨在完全兼容 MySQLdb,这意味着它尝试以一种对用户来说尽可能透明和一致的方式模拟 MySQLdb 的API和行为。原创 2024-02-07 12:57:33 · 833 阅读 · 1 评论 -
在爬虫中多线程和多进程该如何抉择
因此,多线程在CPython中主要适用于IO密集型任务,如网页请求、文件读写等,因为当一个线程等待IO操作完成时,GIL会被释放,其他线程可以使用CPU执行。在实际应用中,也可以结合使用多进程和多线程,例如使用多进程处理下载和解析任务,同时在每个进程内部使用多线程进行并行网络请求。多进程为每个进程提供了独立的内存空间,每个进程中的任务可以同时在不同的CPU核上运行,充分利用多核处理器的性能,尤其适用于计算密集型任务。在爬虫的开发中,多线程和多进程是提高爬取效率的两种常见手段。它们各有特点和适用场景。原创 2024-02-09 13:37:07 · 512 阅读 · 1 评论 -
对比一下lxml和bs4
而如果你是HTML解析的新手,或者在寻找一个错误处理能力强、易于上手的库,Beautiful Soup可能更适合你。在实践中,两者也可以结合使用,例如,使用Beautiful Soup来利用它的容错性和简单的API,但在内部使用。,来自其Python包名)是两个流行的Python库,用于解析HTML和XML文档并从中抽取数据。尽管它们的目的相似,但它们在实现、性能、易用性等方面各有优缺点。综上所述,如果你需要处理非常大或复杂的文档,且对性能有较高要求,作为解析器来提高性能。原创 2024-02-06 21:57:26 · 673 阅读 · 0 评论 -
网络请求爬虫【requests】和自动化爬虫【selenium】
在Python开发的爬虫项目中,requests和selenium是两个常用的库,它们各有特点和应用场景。原创 2024-02-07 13:36:13 · 2188 阅读 · 1 评论 -
编程旅途中的探索与成长:我的Python爬虫和Go后端开发之路
每当学校发布网站上的任务,我总会本能地按下F12键,🤣探索背后的网络接口和JavaScript的参数补充方式。我利用Python的requests库,实现了安全微伴自动刷课程序、易班考试程序,甚至是那些仅限老师完成的任务,我也试图用爬虫技术来“闯关”。我对它充满了兴趣,但很快就发现,编程天赋并不在我这里,考核分数勉强保持在及格线上让我倍感压力。当我亲自尝试后,那种“一见钟情”的感觉油然而生,我被它的简洁和强大功能所吸引。原创 2024-02-07 15:32:01 · 662 阅读 · 1 评论 -
爬虫必学库【json】
Python的json库是一个内置的库,用于编码和解码JSON数据。在爬虫领域,经常需要处理JSON数据格式,因为许多现代网站的API都是以JSON格式交换数据的。原创 2024-02-07 12:33:13 · 311 阅读 · 1 评论 -
爬虫必学库【BeautifulSoup】
Python的BeautifulSoup(bs4)库是一个用于解析HTML和XML文档的库,它可以从网页中提取数据,非常适合于网络爬虫领域。使用BeautifulSoup,你可以轻松地提取链标签、读取属性、查找元素等。原创 2024-02-07 12:13:45 · 861 阅读 · 1 评论 -
爬虫必学库【pandas】
Python的pandas库是一个功能强大的数据分析工具,它提供了快速、灵活、富有表现力的数据结构,旨在使“关系”或“标签”数据的处理既简单又直观。它适合处理多种数据集,包括1D series、2D DataFrame以及3D Panel数据。原创 2024-02-07 12:40:53 · 788 阅读 · 1 评论 -
如何通过一个Python库解决爬虫中图形验证码识别的问题
Python中的ddddocr库就是专门用来识别图像中文字的工具,非常适合爬虫应用中的验证码识别。尽管在某些特别复杂的验证码场景下,ddddocr可能无法达到100%的识别率,但在多数情况下,它可以很好地提升爬虫对验证码的处理能力,从而提高整体的爬取效率。深度学习模型在ddddocr中的应用,使得它能够在多种类型和风格的验证码图片上实现高准确率的识别。不过,深度学习模型的训练需要大量的数据和计算资源,而ddddocr库提供了一个预训练的模型,使得开发者可以直接使用。创建了一个OCR识别对象,然后通过调用。原创 2024-02-09 13:22:51 · 262 阅读 · 1 评论 -
Python如何写自动化(selenium)爬虫程序
而selenium本身是用于web应用开发测试使用的,对于爬虫来说,非必要一般还是通过requests请求网络接口效率会更高,可以减少很多性能损耗。当然,让我们深入一些Selenium的功能和方法,并通过一个具体的案例来解释它们是如何在爬虫程序中使用的。首先,我们需要初始化一个WebDriver实例,这是与浏览器进行交互的主要方式。以XPath为例,这是一个非常强大且常用的定位方式,尤其在处理复杂的HTML结构时。一旦定位了元素,就可以获取它的信息,如文本内容、属性等。方法让浏览器导航到你想要爬取的网页。原创 2024-02-09 08:29:25 · 629 阅读 · 1 评论 -
Python中如何执行JavaScript 代码
在爬虫领域,execjs库用于执行 JavaScript 代码,这在遇到需要逆向工程的 JavaScript 加密或混淆算法时尤其有用。例如,有的网站会使用 JavaScript 生成动态令牌或者对发送到服务器的数据进行加密,这时候如果想要模拟请求或者理解数据如何被处理,就需要执行相应的 JavaScript 代码。使用execjs,我们可以在 Python 环境中调用 JavaScript 代码,而无需依赖于外部的浏览器环境。这对于解密在客户端生成的加密数据或者模拟客户端提交的数据非常有帮助。原创 2024-02-07 13:21:30 · 1111 阅读 · 1 评论 -
爬虫中常见的加密算法【DES/AES/RSA】
在这种情况下,爬虫可能需要模拟执行JavaScript代码,才能正确地生成密钥或者解密由服务器发送的数据。如果你的爬虫需要收集的数据是加密过的,你需要知道如何解密这些数据。在合法的情况下,服务器可能会提供数据和解密所需的密钥(通常是在登录或API调用的过程中)。而在现实世界的应用中,网站前端通常不负责生成或获取加密密钥,密钥的生成和存储通常在服务器端进行,而前端则通过安全的通道接收必要的密钥或密钥信息。在爬虫项目中应用这些密钥,通常是为了模仿浏览器的行为,访问受保护的数据。密钥有些通过api单独传输。原创 2024-02-09 14:09:18 · 625 阅读 · 1 评论 -
Python正则表达式(regEx)在爬虫中的应用
在Python网络爬虫的开发中,正则表达式(Regular Expressions)是一个强大的工具,它可以帮助开发者高效地从HTML源代码或任何文本中提取所需的数据。本文将介绍Python中正则表达式的基本用法,并通过实例展示在爬虫中的应用。正则表达式是爬虫开发者的利器,能够在复杂的数据提取任务中大显身手。它们构成了一种在文本中搜索和匹配字符串的复杂语法,是文本处理中不可或缺的工具。正则表达式用于指定字符匹配的模式,可以用来检查给定的字符串是否符合某个模式或从字符串中提取符合模式的数据。原创 2024-02-10 11:34:51 · 566 阅读 · 1 评论 -
解决网络爬虫常见问题的8条实用指南
编写高效、稳定且可靠的网络爬虫是一项挑战,但通过上述策略,开发者可以提高爬虫的弹性和效率。记住,爬虫应该尊重网站的使用条款,以防止法律风险和伦理问题。在今天的数据驱动世界中,网络爬虫扮演着至关重要的角色,它们帮助我们从网站收集信息,为数据分析提供原料。然而,在编写和运行爬虫的过程中,开发者经常会遇到一系列问题。在某些情况下,网站数据可能被嵌套在复杂的HTML或JavaScript代码中,难以抽取。网站的结构和布局可能会随时更改,这会导致爬虫抓取错误的数据或完全失败。尊重网站的爬虫指引,合理计划爬取行为。原创 2024-02-06 21:37:30 · 1179 阅读 · 0 评论 -
构建爬虫开发知识库:重要库及其最佳实践
爬虫开发是一项复杂但激动人心的任务,涉及到的库和工具繁多。为了使爬虫可以高效地从网站提取数据,这里将介绍一些基础且强大的库,并提供它们的安装步骤和使用示例,以及可能遇到的坑。每个爬虫项目都有其独特的要求和挑战,持续学习和实践将帮助我们更深入地理解这些工具,并有效地运用它们针对性的解决对于不同网站的问题,来构建自己的爬虫。Selenium是一个用于Web应用程序测试的工具,但也常用于处理JavaScript动态加载的内容。是Python的内置库,用于处理URL相关的任务。原创 2024-02-06 21:53:59 · 817 阅读 · 0 评论 -
爬虫必学库【requests】
Python的requests库是一个非常流行且易于使用的HTTP客户端库,它广泛应用于网络爬虫领域。在爬虫中,requests可以用来发送HTTP请求,获取网页内容或者与API进行交互。原创 2024-02-07 12:04:47 · 725 阅读 · 1 评论