- 前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。 首先声明一点! 多线程和多进程是不一样的!一个是 thread 库,一个是 multiprocessing 库。而多线程 thread 在 Python 里面被称作鸡肋的存在!而没错!本节介绍的是就是这个库 thread。 不建议你用这个,... 前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。 首先声明一点! 多线程和多进程是不一样的!一个是 thread 库,一个是 multiprocessing 库。而多线程 thread 在 Python 里面被称作鸡肋的存在!而没错!本节介绍的是就是这个库 thread。 不建议你用这个,...
- 工欲善其事,必先利其器! 编写和运行程序之前我们必须要先把开发环境配置好,只有配置好了环境并且有了更方便的开发工具我们才能更加高效地用程序实现相应的功能,然而很多情况下我们可能在最开始就卡在环境配置上,如果这个过程花费了太多时间,想必学习的兴趣就下降了大半,所以本章专门来对本书中所有的环境配置做一下说明。 本章是本书使用的所有库及工具的安装过程讲解,为了使书的条理更加清晰,... 工欲善其事,必先利其器! 编写和运行程序之前我们必须要先把开发环境配置好,只有配置好了环境并且有了更方便的开发工具我们才能更加高效地用程序实现相应的功能,然而很多情况下我们可能在最开始就卡在环境配置上,如果这个过程花费了太多时间,想必学习的兴趣就下降了大半,所以本章专门来对本书中所有的环境配置做一下说明。 本章是本书使用的所有库及工具的安装过程讲解,为了使书的条理更加清晰,...
- 由于 Requests 属于第三方库,也就是 Python 默认不会自带这个库,所以需要我们手动安装。下面我们首先看一下它的安装过程。 1. 相关链接 GitHub:https://github.com/requests/requests PyPI:https://pypi.python.org/pypi/requests 官方文档:http://www.python-... 由于 Requests 属于第三方库,也就是 Python 默认不会自带这个库,所以需要我们手动安装。下面我们首先看一下它的安装过程。 1. 相关链接 GitHub:https://github.com/requests/requests PyPI:https://pypi.python.org/pypi/requests 官方文档:http://www.python-...
- 上一章中,我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,这还是比较烦琐,而且万一有地方写错了,可能导致匹配失败,所以使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网页中可以通过 XPath 或 CSS 选择器来定位一个或多个节点。那么,在页面解析时,利用 XPa... 上一章中,我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,这还是比较烦琐,而且万一有地方写错了,可能导致匹配失败,所以使用正则表达式提取页面信息多多少少还是有些不方便。 对于网页的节点来说,它可以定义 id、class 或其他属性。而且节点之间还有层次关系,在网页中可以通过 XPath 或 CSS 选择器来定位一个或多个节点。那么,在页面解析时,利用 XPa...
- Flask 是一个轻量级的 Web 服务程序,它简单、易用、灵活,这里主要用来做一些 API 服务。 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:http://flask.pocoo.org 中文文档:http://docs.jinkan.org/docs/flask PyPI:https://pypi.p... Flask 是一个轻量级的 Web 服务程序,它简单、易用、灵活,这里主要用来做一些 API 服务。 1. 相关链接 GitHub:https://github.com/pallets/flask 官方文档:http://flask.pocoo.org 中文文档:http://docs.jinkan.org/docs/flask PyPI:https://pypi.p...
- 在 Python 中,如果想要和 MongoDB 进行交互,就需要借助于 PyMongo 库,这里就来了解一下它的安装方法。 1. 相关链接 GitHub:https://github.com/mongodb/mongo-python-driver 官方文档:https://api.mongodb.com/python/current/ PyPI:https://pyp... 在 Python 中,如果想要和 MongoDB 进行交互,就需要借助于 PyMongo 库,这里就来了解一下它的安装方法。 1. 相关链接 GitHub:https://github.com/mongodb/mongo-python-driver 官方文档:https://api.mongodb.com/python/current/ PyPI:https://pyp...
- 作为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库。 关系型数据库如 SQLite、MySQL、Oracle、SQL Server、DB2 等,其数据库是以表的形式存储,非关系型数据库如 MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活。 本书用到的数据库主要有关系型数据库 MySQL 及非关系型数据库 Mongo... 作为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库。 关系型数据库如 SQLite、MySQL、Oracle、SQL Server、DB2 等,其数据库是以表的形式存储,非关系型数据库如 MongoDB、Redis,它们的存储形式是键值对,存储形式更加灵活。 本书用到的数据库主要有关系型数据库 MySQL 及非关系型数据库 Mongo...
- 综述 博主研究了一下午加一晚上,终于把种子填充算法实现出来并把机器人填充完毕,路途很艰辛,不过也学到了很多,在此和大家一起分享。 吐槽 与我不是同学的小伙伴,请自动忽略,我是来吐槽教材的。 在此不得不吐槽一下,不得不说教材实在太坑爹了。对于种子填充算法的后半部分,下一个种子点的寻找过程中,从 while (x<=xright) 开始,我实在无法搞懂它里面的神逻辑,最初我认为... 综述 博主研究了一下午加一晚上,终于把种子填充算法实现出来并把机器人填充完毕,路途很艰辛,不过也学到了很多,在此和大家一起分享。 吐槽 与我不是同学的小伙伴,请自动忽略,我是来吐槽教材的。 在此不得不吐槽一下,不得不说教材实在太坑爹了。对于种子填充算法的后半部分,下一个种子点的寻找过程中,从 while (x<=xright) 开始,我实在无法搞懂它里面的神逻辑,最初我认为...
- 安装好了 Scrapyd 之后,我们可以直接请求它提供的 API 来获取当前主机的 Scrapy 任务运行状况。比如,某台主机的 IP 为 192.168.1.1,则可以直接运行如下命令获取当前主机的所有 Scrapy 项目: 1 curl http://localhost:6800/listprojects.json 运行结果如下: 1 {... 安装好了 Scrapyd 之后,我们可以直接请求它提供的 API 来获取当前主机的 Scrapy 任务运行状况。比如,某台主机的 IP 为 192.168.1.1,则可以直接运行如下命令获取当前主机的所有 Scrapy 项目: 1 curl http://localhost:6800/listprojects.json 运行结果如下: 1 {...
- 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本书中,我们用到的第三方库有 Requests、Selenium 和 aiohttp 等。 在本节中,我们介绍一下这些请求库的安装方法。 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本书中,我们用到的第三方库有 Requests、Selenium 和 aiohttp 等。 在本节中,我们介绍一下这些请求库的安装方法。
- 1. 输入输出 输出实例 12 print 'hello','world'hello world 输入实例 12345 name = raw_input();print "hello,",nameworldhello,world 输入时提示实例 12345 name = raw_input('please enter yo... 1. 输入输出 输出实例 12 print 'hello','world'hello world 输入实例 12345 name = raw_input();print "hello,",nameworldhello,world 输入时提示实例 12345 name = raw_input('please enter yo...
- 关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。 关系型数据库有多种,如 SQLite、MySQL、Oracle、SQL Server、DB... 关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。 关系型数据库有多种,如 SQLite、MySQL、Oracle、SQL Server、DB...
- 1、python格式化输出历史起源 python2.5之前,我们使用的是老式格式化输出:%s。从python3.0开始起(python2.6同期发布),同时支持两个版本的格式化,多出来的一个新版本就是利用format()函数,进行格式化输出。 2、为什么要学习python3支持的新式格式化输出呢? 虽然老式的语法,兼容性很好,但是它的功能很少,很难完成复杂的任务,... 1、python格式化输出历史起源 python2.5之前,我们使用的是老式格式化输出:%s。从python3.0开始起(python2.6同期发布),同时支持两个版本的格式化,多出来的一个新版本就是利用format()函数,进行格式化输出。 2、为什么要学习python3支持的新式格式化输出呢? 虽然老式的语法,兼容性很好,但是它的功能很少,很难完成复杂的任务,...
- Scrapyd 是一个用于部署和运行 Scrapy 项目的工具,有了它,你可以将写好的 Scrapy 项目上传到云主机并通过 API 来控制它的运行。 既然是 Scrapy 项目部署,基本上都使用 Linux 主机,所以本节的安装是针对于 Linux 主机的。 1. 相关链接 GitHub:https://github.com/scrapy/scrapyd PyPI:ht... Scrapyd 是一个用于部署和运行 Scrapy 项目的工具,有了它,你可以将写好的 Scrapy 项目上传到云主机并通过 API 来控制它的运行。 既然是 Scrapy 项目部署,基本上都使用 Linux 主机,所以本节的安装是针对于 Linux 主机的。 1. 相关链接 GitHub:https://github.com/scrapy/scrapyd PyPI:ht...
- 用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。 用解析器解析出数据之后,接下来就是存储数据了。保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如 TXT、JSON、CSV 等。另外,还可以保存到数据库中,如关系型数据库 MySQL,非关系型数据库 MongoDB、Redis 等。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签