我有这个简单的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基础知识.谢谢.
到目前为止,我的目标是在Rust中解析此JSON数据:
extern crate rustc_serialize;
use rustc_serialize::json::Json;
use std::fs::File;
use std::io::copy;
use std::io::stdout;
fn main() {
let mut file = File::open("text.json").unwrap();
let mut stdout = stdout();
let mut str = ©(&mut file, &mut stdout).unwrap().to_string();
let data = Json::from_str(str).unwrap();
}
Run Code Online (Sandbox Code Playgroud)
并且text.json是
{
"FirstName": "John",
"LastName": "Doe",
"Age": 43,
"Address": {
"Street": "Downing Street 10",
"City": "London",
"Country": "Great Britain"
},
"PhoneNumbers": [
"+44 1234567",
"+44 2345678"
]
}
Run Code Online (Sandbox Code Playgroud)
解析它的下一步应该是什么?我的主要目标是获取这样的JSON数据,并从中解析一个密钥,如Age.
我这里有这个功能:
function createInsta(email, userid) {
if (!fs.existsSync('users/' + email + '/' + userid)) {
fs.mkdir('users/' + email + '/' + userid)
fs.writeFileSync(('users/' + email + '/' + userid + '/instagram.json'), fs.readFileSync("data/data.json", "utf-8"))
console.log("insta folder created");
}
console.log("Initializing Data")
var data = fs.readFileSync('users/' + email + '/' + userid + '/instagram.json', "utf-8")
data = JSON.parse(data);
var result;
request(("https://instagram.com/" + userid + "/?__a=1"), function(error, response, body) {
var res = JSON.parse(body);
result = res.user.followed_by.count
if (error) {
console.log(err)
}
})
while (result …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用外部库num,目的是将分数转换为任意长的小数点,但是,通过阅读文档,我找不到一些将分数转换为十进制数的示例。有谁知道怎么做?
所以我正在使用Dart中的谷歌地图API处理一个项目,但我遇到了一些问题,我真的不知道如何修复.问题是我有这个If语句:
if (querySelector("#input") == "202") {
final location = (new InfoWindow(new InfoWindowOptions())
..position = new LatLng(40.316002, -76.034599)
..content = 'room 202'
);
}
Run Code Online (Sandbox Code Playgroud)
if语句的功能非常明显(它使用谷歌地图为Dart),但我似乎无法得到它.这是html部分:
<form><p id="rly">
Enter room number</p><br>
<input type="text" id="input">
</form>
Run Code Online (Sandbox Code Playgroud)
任何建议或想法?先感谢您.