令人讨厌的异常 提起异常,大家都很反感,当信心满满的写完一段代码,刷新页面发现上面写着大大的 Exception 是最心烦的时候了.模块给领导演示的时候,如果报了异常,也是最让人崩溃的时候了. 在一般的大型网站中,如果拥有异常处理的机制,那么将会帮助我们节省很多不需要的工作,具体如下: 什么是异常 异常是运行中超出了你程序预期的一个东西. 场景 例如京东有个 轻松购 的功能,当点击的时候会将该商品自动添加到购物车并生成订单,然后进行支付,这是一个网络请求,但是在后端实际执行了一系列的事情(以下操…
今年的双十一已经过去一段,作为技术小咖啡,我们先说一下大型电商网站的特点:高并发,大流量,高可用,海量数据.下面就说说大型网站的架构演化过程,它的技术架构是如何一步步的演化的 1. 早期的网站架构 初始阶段都比较简单,通常一台服务器就可以搞定一个网站了 2. 应用服务器与数据服务分离 随着网站业务的发展,一台服务器逐渐不能满足需求:这时候就需要将应用和数据分离 3. 使用缓存改善网站的性能 现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上 4. 使用应用服务器集群改善网…
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装 小白学 Python 爬虫(7):HTTP 基础 小白学 Python 爬虫(8):网页基…
目标 先介绍下我们本篇文章的目标,如图: 本篇文章计划获取商品的一些基本信息,如名称.商店.价格.是否自营.图片路径等等. 准备 首先要确认自己本地已经安装好了 Selenium 包括 Chrome ,并已经配置好了 ChromeDriver .如果还没安装好,可以参考前面的前置准备. 分析 接下来我们就要分析一下了. 首先,我们的搜索关键字是 iPhone ,直接先翻到最后一页看下结果,发现有好多商品并不是 iPhone ,而是 iPhone 的手机壳,这个明显不是我们想要的结果,小编这里选择…
秒杀/抢购 技术:高可用,高并发 市场:用户体验,曝光度,促销 秒杀放单独服务器,这样即使崩溃不影响网站其他功能. 高可用:双活. 高并发:负载均衡,安全过滤. 阿里云:云监控 分流,CDN加速 业务流程: 前台: 商品展示:1.秒杀倒计时,(LInux定时任务crontab -e):2.开始秒杀:3.秒杀结束. 用户登记: 后台: 数据接入:1.数据校验(加密.解密),完成对数据/用户验证:2.存入nosql队列(redis队列),去重复.排队序列:3.检测商品最大数量,提示活动已经结束. 数…
用python爬取动态网页时,普通的requests,urllib2无法实现.例如有些网站点击下一页时,会加载新的内容,但是网页的URL却没有改变(没有传入页码相关的参数),requests.urllib2无法抓取这些动态加载的内容,此时就需要使用Selenium了. 使用Selenium需要选择一个调用的浏览器并下载好对应的驱动,我使用的是Chrome浏览器. 将下载好的chromedrive.exe文件复制到系统路径:E:\python\Scripts下,如果安装python的时候打path…
这篇博文主要是对我的这篇https://www.cnblogs.com/tszr/p/12198054.html爬虫效率的优化,目的是为了提高爬虫效率. 可以根据出发地同时调用多个CPU,每个CPU运行一个出发地的脚本,如果你的电脑有8个CPU,那么将会每次同时获取8个出发地的数据. 代码如下: import time import json import pymongo import requests import urllib.request #使用MongoDB创建数据库.表 client…
之前的运行数据被清除了,只能再运行一次,对比一下sparkSQL语句的影响 纯SQL的时间 对应时间表 th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-…
[原创] ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API 标签: Web API MVC6 创建web API | 博主:powertoolsteam     ASP.NET5.0的主要目标之一是统一MVC和WebAPI框架应用.接下来几篇文章中您会了解以下内容:ASP.NETMVC6中创建简单的webAPI.如何从空的项目模板中启动,及添加控件到应用中.如何配置ASP.NET5.0管道.在IIS外对立部署应用.本文的目的是从空的项目开始,逐步讲解如何创建应用.当�.…
继上篇文章[微信开发之微电商网站]技术笔记之一,昨日做了日志处理的功能. 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息.状态信息.调试信息和执行时间信息等.在生产环境中,日志是查找问题来源的重要依据.应用程序运行时的产生的各种信息,都应该通过日志类库来进行记录. 废话不多说了,附上日志类库的源代码:  /** * 日志处理类 * * @since alpha 0.0.1…