豆瓣

豆瓣网CTO洪强宁讲述网站架构变迁

帅比萌擦擦* 提交于 2019-12-10 00:21:31
豆瓣网CTO洪强宁讲述网站架构变迁 罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。洪强宁,2002年毕业于清华大学,现任北京豆瓣互动科技有限公司首席架构师。洪强宁和他带领的技术团队致力于用技术改善人们的文化和生活品质,在网站架构、性能、可伸缩性上进行深入研究。豆瓣网曾获软件中国2006年度最佳技术应用网站。 校内网CTO黄晶讲述网站架构变迁 每个网站的发展都会按照一个大致相同的路线去完成,当然这里说的是每个相对成功的网站。 第一阶段: 这一阶段没有太大的访问量,甚至只有一台服务器就搞定了所有的访问。 DB 和前端的代码全都在一起,压力不高。忆者注:我觉得在 alexa 没进五万的时候,只要不是特殊的应用,基本都在此列吧。 第二阶段: 网站初具规模,DB压力大增,单独的一台DB已经满足不了现在的访问量,开始考虑读写分离的 Master-slave 库,使用三个及以上的服务器。忆者注:这时网站的alexa基本上会在1-3万的位置,每天的ip在5-10w的样子,当然,DB我们都认为是MySql。 第三阶段: 访问量继续增加,增加到了DB的压力在Master的机器上非常的明显了,Master开始出现吃不消的情况,出现写耗尽。主从也已经不能满足要求,需要进一步解决负载问题,此时要引入Mysql Proxy 程序,进行中间层代理,实现负载均衡,易于扩展。忆者注

小程序调用豆瓣公开接口解决办法

两盒软妹~` 提交于 2019-12-09 13:59:16
找到一个可以直接访问无需apikey的https协议的豆瓣api访问地址 : https://douban.uieee.com 即调用时将https://api.douban.com替换为https://douban.uieee.com,比如说我想获取豆瓣电影top250,直接访问 https://douban.uieee.com/v2/movie/top250 即可。 豆瓣电影\音乐\图书api请求整理,欢迎补充: 请求名 请求地址 豆瓣电影最近热映 https://douban.uieee.com/v2/movie/in_theaters?start=0&count=10 豆瓣电影即将上映 https://douban.uieee.com/v2/movie/coming_soon 豆瓣电影top250 https://douban.uieee.com/v2/movie/top250?start=0&count=10 豆瓣电影搜索 https://douban.uieee.com/v2/movie/search?q=神秘巨星&start=0&count=10 豆瓣电影详情 https://douban.uieee.com/v2/movie/subject/26942674 豆瓣电影口碑榜 https://douban.uieee.com/v2/movie/weekly

用python爬取豆瓣电影Top 250

谁都会走 提交于 2019-12-08 17:32:29
  首先,打开豆瓣电影Top 250,然后进行网页分析。找到它的Host和User-agent,并保存下来。    然后,我们通过翻页,查看各页面的url,发现规律:   第一页: https://movie.douban.com/top250?start=0&filter=   第二页: https://movie.douban.com/top250?start=25&filter=   第三页: https://movie.douban.com/top250?start=50&filter=    第四页: https://movie.douban.com/top250?start=75&filter=   我们发现,每个页面的url都是https://movie.douban.com/top250?start= +25+ &filter=的规律。如此,就可以开始写代码: import requests from bs4 import BeautifulSoup def get_movie(): headers={ 'Host': 'movie.douban.com', 'User-Agent': 'Mozilla / 5.0(Windows NT 6.1;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 45.0

接口测试的基础概念

落爺英雄遲暮 提交于 2019-12-06 06:39:55
一、灵魂发问    开始学习之前,先问一下自己,什么是接口呢?接口是用来做什么的呢?常见的接口类型有哪些? 二、什么是接口呢   接口:泛指实体吧自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,时期能被内部修改而不影响外界其他实体与其交互的方式。下面简单举几个例子。   人类与电脑等信息机器或人类与程序之间的接口为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口,信息机器软件组件间的接口叫软件接口。   在计算机中,接口是计算机系统两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合 三、接口是用来做什么的呢    在整个系统设计中,由于涉及到很多层,要使各层之间调用透明化,可以按照接口做具体的事情,从而融合到整个系统中。 四、常见的接口类型有哪些   接口是指外部系统与系统之间以及内部各子系统之间的交互点,包括外部接口和内部接口。内部接口包括上层服务与下层服务接口和同级接口。   常见web接口:1.http协议的接口;2.web service接口(如soup、rmi、rpc协议)   常见的http请求方式包括: get(查)、post(增) ,还有put(改)和delete(删)。工作中常见的是get和post两种。   GET:本质是发送一个请求来获得服务器上的某一资源

用Vue2.0实现tabbar

别等时光非礼了梦想. 提交于 2019-12-06 04:54:57
时间 2017-02-24 17:26:05 SegmentFault 原文 https://segmentfault.com/a/1190000008473744 主题 Vue.js 大家好,我给大家分享一下仿豆瓣app的教程。当然了,我们不是用原生去实现,而是用前端框架vuejs来实现豆瓣app。————第一次写文章,写得不好请见谅。 为什么我们选择豆瓣app 来做这样一个教程? 是因为我很早就接触豆瓣这个网站,我比较喜欢看豆瓣里面电影和文章的点评。并且豆瓣提供了非常丰富的一个api接口供我们使用。也就是说我们可以不通过后端,直接通过前端ajax来获取电影和图书的数据,来组装我们app。 我们可以看一下豆瓣app首页是一个什么样子 gif 以上就是豆瓣app的一个截图。 我们先来分析一下 首页分为四个部分。第一个就是顶部的搜索框。搜索框下面就是一个banner图切换。在下面就是一些热点的文章列表。最底部就是一个tab切换。在这篇教程中,我们通过vue的组件来实现这样一个首页的布局。 * 创建豆瓣项目 我们可以通过官方vue-cli初始化项目,这里我们采用webpack示例 vue init webpack douban 填写项目描述,作者,安装vue-router ? Project name douban ? Project description douban ?

豆瓣api报错问题

南笙酒味 提交于 2019-12-05 04:45:34
最近小程序利用豆瓣api遇到的问题,问题如下: 解决办法,在请求url后面添加apikey ?apikey=0b2bdeda43b5688921839c8ecb20399b 来源: https://www.cnblogs.com/ruilin/p/11906917.html

vue开源项目库汇总

↘锁芯ラ 提交于 2019-12-05 03:55:38
来源: github.com Vue.js开源项目速查表: https://www.ctolib.com/cheatsheets-vuejs.html UI组件 element ★12468 - 饿了么出品的Vue2的web UI工具套件 Vux ★7759 - 基于Vue和WeUI的组件库 iview ★6121 - 基于 Vuejs 的开源 UI 组件库 mint-ui ★5827 - Vue 2的移动UI元素 vue-material ★2997 - 通过Vue Material和Vue 2建立精美的app应用 muse-ui ★2814 - 三端样式一致的响应式 UI 库 Keen-UI ★2670 - 轻量级的基本UI组件合集 vuetify ★2512 - 为移动而生的Vue JS 2组件框架 vonic ★1800 - 快速构建移动端单页应用 eme ★1496 - 优雅的Markdown编辑器 vue-multiselect ★1437 - Vue.js选择框解决方案 vueAdmin ★1206 - 基于vuejs2和element的简单的管理员模板 eagle.js ★1070 - hacker的幻灯片演示框架 bootstrap-vue ★1020 - 应用于Vuejs2的Twitter的Bootstrap 4组件 Vue.Draggable ★960 -

python 豆瓣top250电影的爬取

不羁的心 提交于 2019-12-04 20:46:22
我们先看一下豆瓣的robot.txt 然后我们查看top250的网页链接和源代码 通过对比不难发现网页间只是start数字发生了变化。 我们可以知道电影内容都存在ol标签下的 div class属性为hd下的a标签下的span标签的字符串 我利用的是BeautifulSoup库和requests库。 我们可以开始编写我们的爬虫了! import requests from bs4 import BeautifulSoup import bs4 url = "https://movie.douban.com/top250" index = 0 for i in range(10): url1 = "https://movie.douban.com/top250?" start = "start=" x = i*25 filter = "&filter=" url = url1 + start + str(x) + filter #print(url) r = requests.get(url) html = r.text soup = BeautifulSoup(html, "html.parser") for hd in soup.find_all(class_ = 'hd'): index = index+1 print("{:^10}\t{:^20}\t".format

python爬取豆瓣视频信息代码

北城余情 提交于 2019-12-04 15:19:44
目录 一:代码 二:结果如下(部分例子)   这里是爬取豆瓣视频信息,用pyquery库(jquery的python库)。 一:代码 from urllib.request import quote from pyquery import PyQuery as pq import requests import pandas as pd def get_text_page(movie_name): ''' 函数功能:获得指定电影名的源代码 参数:电影名 返回值:电影名结果的源代码 ''' url = 'https://www.douban.com/search?q=' + movie_name headers = { 'Host' : 'www.douban.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36', } r = requests.get(url,headers = headers,timeout=5) return r.text def get_last_url(this_text): ''' 函数功能:根据指定的源代码得到最终的网页地址 参数

Pycharm更换pip源为国内

一世执手 提交于 2019-12-04 04:59:10
Python里的pip是官方自带的源,国内使用pip安装的时候十分缓慢,所以最好是更换成中国国内的源地址。 目前国内靠谱的 pip 镜像源有: 清华: https://pypi.tuna.tsinghua.edu.cn/simple 豆瓣: http://pypi.douban.com/simple/ 阿里: http://mirrors.aliyun.com/pypi/simple/ 建议使用清华的,豆瓣和阿里的好像是有些问题,有些包安装不上,不是很清楚什么原因。 Python里的pip是官方自带的源,国内使用pip安装的时候十分缓慢,所以最好是更换成中国国内的源地址。 目前国内靠谱的 pip 镜像源有: 清华: https://pypi.tuna.tsinghua.edu.cn/simple 豆瓣: http://pypi.douban.com/simple/ 阿里: http://mirrors.aliyun.com/pypi/simple/ 建议使用清华的,豆瓣和阿里的好像是有些问题,有些包安装不上,不是很清楚什么原因。 来源: https://www.cnblogs.com/chongdongxiaoyu/p/11832519.html