Google

python3模拟浏览器POST提交实现谷歌翻译

这一生的挚爱 提交于 2021-02-15 12:27:48
之前用python2和wxpython写过一个,到现在都基本忘完了,这次用python3写个命令行的。 #coding=UTF-8 import urllib.request import urllib.parse import json import argparse ''' ************************************ @FileName : Google Translator @Author : auo @Description : 模拟浏览器POST表单提交实现谷歌翻译 @link : http://my.oschina.net/auo ************************************ ''' languages = ['zh-CN', 'en', 'de', 'ja', 'ru', 'fr'] class GoogleTranslator(object) : def __init__(self) : self.userAgent = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36'} self.requestUrl =

golang实现异步并发sokect

点点圈 提交于 2021-02-02 05:44:39
搜索golang + epoll的例子,得到下面这段代码,感觉golang的编程思维真正做到了并行编程: package main import ( "fmt" "net" "os" "time" ) const ( MAX_CONN_NUM = 5 ) //echo server Goroutine func EchoFunc(conn net.Conn) { defer conn.Close() buf := make([]byte, 1024) for { _, err := conn.Read(buf) if err != nil { //println("Error reading:", err.Error()) return } //send reply _, err = conn.Write(buf) if err != nil { //println("Error send reply:", err.Error()) return } } } //initial listener and run func main() { listener, err := net.Listen("tcp", "0.0.0.0:8088") if err != nil { fmt.Println("error listening:", err.Error()) os.Exit(1)

一切只为学习,google 我来了

本秂侑毒 提交于 2021-01-31 21:34:50
解决国内上google搜索的问题。 其实网上有很多帖子,也有很多组织搜索ip来解决这些问题,我感觉这都太麻烦了。为了更好查阅资料,我选择自己寻找解决之道。 现在我分享给大家 http://209.85.228.42/webhp http://173.194.1.15/ Google 镜像站搜集 以下镜像站分原版和非原版,非原版界面有些改变,搜索结果依然是相同的 非原版: Glgoo:http://www.glgoo.com/ 谷粉搜搜:http://www.gfsoso.com/ 谷粉搜搜:http://www.gfsswy.com/ 蝴蝶:http://www.xiexingwen.com/ Googleout:https://www.out1000.com/ 天外天:http://www.886404.com/ 一哥搜:http://www.egeso.com/ 谷歌搜:http://www.gugesou.com/ 谷壳:http://www.googke.me/ 谷鸽:http://www.gvgle.com/ 南搜:http://nan.so/ GG搜索:http://guge.gg/ GG搜索:http://ggsousuo.duapp.com/ Avira:https://safesearch.avira.com/ GoogleIsOk:http://www

Material design小结

会有一股神秘感。 提交于 2020-05-01 03:18:49
https://www.google.com/design/spec/material-design/introduction.html 开源项目,第一个感觉更合适一点,虽然github不如第二个: http://www.material-ui.com https://getmdl.io 一、动画(Motion): 动画应该快速的 运动距离不同,时间也应该不同,不能清一色相同的时间 手机:一般在300ms以内,全屏幕or复杂动画控制在375ms内;平板时间要比手机长30%,穿戴要比手机短30%;pc应该控制在150ms-200ms(复杂的动画会丢帧,更快的速度可以减弱丢帧) 进入屏幕应该是弧线向上或向下(贴边上下)或者沿单一轴线(直线)进入或者退出并加快一些 进入屏幕使用减速:先快后慢(deceleration curve),退出屏幕使用加速:先慢后快(acceleration),都控制在300ms内 如果是 暂离屏幕 保持立刻和返回位置一致并使用sharp curve缓动,如果是 永久离开屏幕 可以设置不同位置(进入和离开位置不同) 相对运动:要避免抢眼、剧烈运动、破坏性,所以使用standard curve缓动 各种缓动效果(curve),参看: easing 还有很多细节无法用文字描述,需要看官方的动画演示 二、样式 (Style) 官方提供了调色板 下载 并提供了几套

在谷歌地图上显示地名等信息,类似infowindow

纵饮孤独 提交于 2020-04-21 06:47:33
function Tooltip(options) { this.marker_ = options.marker; this.content_ = options.content; this.map_ = options.marker.get('map'); this.cssClass_ = options.cssClass || null; this.is_hidden = options.is_hidden === undefined ? !0 : options.is_hidden; this.div_ = null; this.setMap(this.map_); var me = this; if(this.is_hidden){ google.maps.event.addDomListener(me.marker_, 'mouseover', function(){ me.show(); }); google.maps.event.addDomListener(me.marker_, 'mouseout', function(){ me.hide(); }); } } Tooltip.prototype = new google.maps.OverlayView(); Tooltip.prototype.onAdd = function() { var div =

15分钟学会写chrome插件

天大地大妈咪最大 提交于 2020-04-17 04:08:58
【推荐阅读】微服务还能火多久?>>> chrome插件灰常简单,看看配置文件怎么写你就可以直接参照api文档, 天高任你飞了。 chrome官方API地址: https://developer.chrome.com/extensions/api_index chrome官方入门教程(自己写的更粗暴直接一些): https://developer.chrome.com/extensions/getstarted 以上两个连接貌似被墙了,如果你翻不了墙。。。。。。 好吧,360貌似翻译了这个东西,可能是时间原因,有些地方与官方档有些细微差异,不过学习无妨,地址是 http://open.chrome.360.cn/extension_dev/overview.html 本教程简单有效,先跟着做,做完还不会的话就再来一遍,还不会的话............额,你可能不适合做这个。 本文代码已放到git@OSC上,需要可自行下载,地址在文章结尾的地方。 1.首先,新建一个文件夹,起名叫做" HelloChrome "。进入该文件夹,以此为工作台, 下文所有文件都放这里面。 2.然后,我们进入到这个文件夹,使用除了(W indows) 记事本之外的你常用的文本编辑器(如SublimeText等) 创建一个文件,名字叫做" manifest.json "。文件的内容如下: {

Ubuntu Google Chrome 安装

好久不见. 提交于 2020-03-02 08:50:45
Ubuntu 软件中心里面没有Google Chrome浏览器,而是其分支Chromium,如果你想用原汁原味的Chrome,可以在Google网站上下载。 下载地址:http://www.google.com/chrome 下载完成之后,可以使用下面的命令进行安装,也可以双击安装。 cd Downloads/ 注:制定到下载目录下。 sudo dpkg -i google-chrome-*.deb 注:把*号换成版本号。 运行如果出现错误,运行下面的命令: sudo apt-get install libnspr4-0d libnss3-1d libxss1 libcurl3 Ubuntu中root用不能打开Chrome 浏览器 解决方法: 找到启动文件 :/opt/google/chrome/google-chrome 编辑该文件,修改最后一行: Java代码 exec -a "$0" "$HERE/chrome" "$@" to Java代码 exec -a "$0" "$HERE/chrome" "$@" --user-data-dir $HOME 来源: oschina 链接: https://my.oschina.net/u/1420250/blog/217639

Kubernetes调度算法介绍

别等时光非礼了梦想. 提交于 2020-03-02 03:49:33
调度流程 调度器就是一个独立的进程,负责不断从apiserver拉取还没有被调度的pod,以及可调度的node列表,通过一些列算法筛选,选出一个node并与该pod绑定,将绑定的结果写回apiserver 调度算法 下面讲解基于k8s v1.6.6的源码 算法需要经过两个阶段,分别是过滤和打分,首先过滤掉一部分,保证剩余的节点都是可调度的,接着在打分阶段选出最高分节点,该节点就是scheduler的输出节点。 算法流程: 过滤 过滤环节就是一条过滤器链,包含多个过滤器,每个相当于一个函数,接收node和待调度的pod作为参数,返回bool来确定是否可调度。通过组合多个函数可以完成一条可扩展的过滤器链。目前k8s中已注册的过滤器函数如下: 算法名称 是否默认 详细说明 NoVolumeZoneConflict 是 当主机上zone-label(地区)包含pod中PersistentVolume卷下的zone label时,可以调度。当主机没有zone-label,表示没有没有zone限制,也可调度 MaxEBSVolumeCount 是 当主机上被挂载的AWS EBS Volume超过了默认限制39,就不调度到该主机 MaxGCEPDVolumeCount 是 当主机上被挂载的GCD Persistent Disk超过了默认限制16,就不调度到该机器

16条有用的Chrome浏览器命令

可紊 提交于 2020-02-29 12:23:02
  Google Chrome浏览器有很多的特性在界面菜单中是没有体现的,你可以通过「chrome://命令」来访问。在Chrome的浏览器地址栏中输入命令,就会返回相应的结果。下面是16个非常有用的chrome://命令:       1. chrome://downloads 等同于从菜单中查看下载内容,其快捷键是Ctrl+J   2. chrome://extensions 等同于菜单-工具-扩展   3.chrome://plugins 显示已安装插件   4. chrome://bookmarks 等同于菜单-书签-书签管理器,快捷键Ctrl+Shift+O   5. chrome://history 等同于从菜单-历史直接访问,快捷键 Ctrl+H   6. chrome://restart 重启chrome浏览器   7. chrome://apps 打开chrome网上应用商店   8. chrome://flags 可用来启用或者关闭某些chrome的体验特性   9. chrome://dns 显示浏览器预抓取的主机名列表,让你随时了解DNS状态   10. chrome://memory 重定向到chrome://memory-redirect/,显示系统运行中的浏览器内存使用情况,以及浏览器中进程的详细信息。   11. chrome://net

Google Protocol Buffer 的各语言实现版本

十年热恋 提交于 2020-01-07 07:15:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Google Protocol Buffer 专门用来串行化和反串行化对象,但官方仅实现了C++、Python、Java三种语言。其他语言版本也相继由不同的作者来实现。虽然有一定缺陷,也足以在大部分的项目中使用了。 .proto 的基本写法: package feeds; message Feed { optional string title = 1; message Entry { optional string title = 1; } repeated Entry entry = 2; } Python、C++、Java三种语言版本请见 https://developers.google.com/protocol-buffers/docs/reference/overview 代码生成: <?php require_once('../parser/pb_parser.php'); $test = new PBParser(); $test->parse('./feeds.proto'); ?> 串行化: <?php require_once('message/pb_message.php'); require_once('pb_proto_test.php'); $feed = new Feed();