我有这个简单的html解析器(用于学习目的),我一直在研究:
require 'open-uri'
puts "Enter URL to parse HTML: "
url = gets.chomp
puts "Enter tag to parse from: "
tag = gets.chomp
response = open(url).read
title1 = response.index(tag)
title2 = response.index(tag.insert(1,'/')) -1
result = response[(title1 + tag.length - 1)..title2]
print result
Run Code Online (Sandbox Code Playgroud)
当我输入时http://twitter.com,我收到此错误消息:
ERROR: `open_loop': redirection forbidden: http://twitter.com -> https://twitter.com/ (RuntimeError)
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:149:in `open_uri'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:704:in `open'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:34:in `open'
from /home/ubuntu/workspace/htmlparse.rb:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
有任何建议或帮助吗?我是Ruby新手,我知道其他html解析模块,但我这样做是为了学习Ruby基础知识.谢谢.
我有一个textarea文本Hello World.我想得到这篇文章的高度.
我试过用:
var element = document.getElementById('textarea');
var textHeight = element.innerHTML.offsetHeight;
Run Code Online (Sandbox Code Playgroud)
和:
var textHeight = element.value.offsetHeight;
Run Code Online (Sandbox Code Playgroud)
但是这些不是给出文本的数字,而是给出textarea元素的高度.
在此之前的Rails 3,您可以修改脚本/服务器文件以SSL参数添加和告诉服务器命令来使用的WEBrick的HTTPS版本.现在,所有这些脚本都消失了,没有人知道如何得到这个使用Rails 3或4个工作?
我正在尝试在使用基于python3的自定义构建脚本的C库上使用Travis CI.
在构建存储库时,它会失败,./configure因为configure使用的是默认情况下未安装的Python 3.
如果我正在构建一个Python项目,我会在我的.travis.yml:
python:
- "3.4"
Run Code Online (Sandbox Code Playgroud)
然而,这似乎并没有影响到我的仓库,因为它是在C.(我试图运行which python3和python --version,其报道称,巨蟒-3不存在和Python 2.7是在使用来代替.)
我试过的构建脚本:
language: c
python:
- "3.4"
Run Code Online (Sandbox Code Playgroud)
当我的项目不是Python项目时,如何在Travis CI中使用Python 3?
我试图在Scala.js中使用Promises和Futures.承诺是有效的,一旦涉及期货,我会得到警告和错误.
尝试:
val p1 = Promise[Int]
val f1: Future[Int] = p1.future
val p2 = Promise[Int]
val f2: Future[Int] = p2.future
val res1 = for {
v1 <- f1
v2 <- f2
} yield v1 + v2
val res2 = f1.flatMap(x => f2.map(y => x + y))
res1 onSuccess {
case x: Int => g.console.log(x);
}
res2 onSuccess {
case x: Int => g.console.log(x);
}
// callback in dom, using ScalaTags
// div(`class` := "btn btn-default", `type` := "button", onclick := …Run Code Online (Sandbox Code Playgroud) 我想捕获TCP数据包以及Android中的HTTP和HTTPS等协议数据,类似于Windows中的Wireshark.
我怎样才能在Android中执行此操作?
我在vim中挣扎着Python.
我还没有发现如何将python脚本(在vim函数中)中的值导回到vim pe
function! myvimscript()
python << endpython
import vim, random, sys
s = vim.eval("mylist")
# do operation with variable "s" in python
endpython
" import variable "s" from above
" do operation with "s" in vimscript
endfunction
Run Code Online (Sandbox Code Playgroud)
1)如何"s"在vim中再次使用(如何"s"从python代码导入vim)?
我无法找到如何使用vim.current.buffer选择.
function! myvimscript()
let startline = line("'<")
let endline = line("'>")
python << endpython
start = vim.eval("startline")
end = vim.eval("endline")
cb = vim.current.buffer
l = cb[start:end]
endpython
endfunction
Run Code Online (Sandbox Code Playgroud)
2)我如何分配动态值"start",并"end"以"l"
我在网上可以找到关于QtRuby的所有内容都使用Qt 4,但Qt的当前版本是5.这仅仅是文档没有赶上现实的问题,Qt 5可以在QtRuby上运行得很好吗?
如果你断言是这种情况(Qt5不受支持),那么请用证据备份你的断言.
我注意到bash shell可以为你的命令建议命令行开关.
只需键入您的命令,短划线( - )和类型选项卡.shell将显示可用的开关.
例如,尝试:
andy@andyx:~$ java -
Run Code Online (Sandbox Code Playgroud)
并按标签 - 惊喜!

问题是:
如何与此功能连接.即,如果我编写一个要从控制台运行的程序,那么告诉shell哪些开关可用的API是什么?
在python 2中,可以通过执行从urllib获取调试输出
import httplib
import urllib
httplib.HTTPConnection.debuglevel = 1
response = urllib.urlopen('http://example.com').read()
Run Code Online (Sandbox Code Playgroud)
但是,在python 3中,它似乎已被移动到
http.client.HTTPConnection.set_debuglevel(level)
Run Code Online (Sandbox Code Playgroud)
但是,我直接使用urllib而不是http.client.如何设置它以便我的http请求以这种方式显示调试信息?
这是我到目前为止使用的内容.如果我想获得调试信息,最好的方法是什么?
#Request Login page
cookiejar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookiejar))
request = urllib.request.Request(options.uri)
add_std_headers(request)
response = opener.open(request)
response_string = response.read().decode("utf8")
# ...
Run Code Online (Sandbox Code Playgroud)