मैंने देखा कि Google ने Google App Engine के लिए वित्त API को हटा दिया है। मैं चाहता हूं कि स्टॉक टिकर्स की एक सूची है जो उनके पास Google वित्त पोर्टफोलियो में है। क्या इस डेटा को अंतिम उपयोगकर्ता के पोर्टफोलियो से अभी भी खींचने का कोई तरीका है, यह देखते हुए कि एपीआई हटा दी गई है? मैं इसे मैन्युअल रूप से पुनर्प्राप्त करने का प्रयास कर रहा हूं क्योंकि मुझे लॉगिन और पासवर्ड पता है (उदाहरण के लिए, यह मेरा है)।तरीका?
क्या Google सेवाओं में लॉग इन करके इसे मैन्युअल रूप से कर्ल के माध्यम से पुनर्प्राप्त करने का कोई तरीका है? ऐसा लगता है कि लॉग इन करना और स्रोत को पुनर्प्राप्त करना मेरे पोर्टफोलियो पेज पर जाना संभव होना चाहिए।
मैं निम्नलिखित कोड की कोशिश की है:
#!/bin/bash
function ClientLogin() {
read -p 'Email> ' email
read -p 'Password> ' -s password
local service=$1
curl -s -d Email=$email -d Passwd=$password -d service=$service https://www.google.com/accounts/ClientLogin | tr ' ' \n | grep Auth= | sed -e 's/Auth=//'
}
function GetFinance() {
curl -L -s -H "Authorization: GoogleLogin auth=$(ClientLogin finance)" "http://www.google.com/finance/portfolio?action=view&pid=1" &> output.html
}
GetFinance
हालांकि, इस कोड केवल एक पृष्ठ है कि मुझसे कहता है में लॉग इन करने को पुन: प्राप्त समाधान कर्ल का उपयोग करने की जरूरत नहीं है, लेकिन यह का उपयोग कर एक स्वचालित पुन: प्राप्ति होना चाहिए। कुछ पटकथा भाषा।
x4avier के लिए धन्यवाद, मैं casperjs के बारे में सीखा और, लोड करने के लिए गूगल सेवाओं के लिए लॉग इन पेज यूज़रनेम और पासवर्ड दर्ज करें और फिर Google वित्त पोर्टफ़ोलियो लाने के लिए एक त्वरित स्क्रिप्ट लिखने के लिए सक्षम था। मुझे यकीन है कि यह किसी भी अन्य Google सेवा और पेज के साथ काम करेगा। मैं पोर्टफोलियो के एचटीएमएल को portfolio.html पर सहेजता हूं। उम्मीद है कि यह किसी और की भी मदद करता है।
var fs = require('fs');
var failed = [];
var links = [
"https://www.google.com/finance/portfolio?action=view&pid=13"
];
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
pageSettings: {
loadImages: false, // The WebPage instance used by Casper will
loadPlugins: false, // use these settings
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537
}
});
// print out all the messages in the headless browser context
casper.on('remote.message', function(msg) {
this.echo('remote message caught: ' + msg);
});
// print out all the messages in the headless browser context
casper.on("page.error", function(msg, trace) {
this.echo("Page Error: " + msg, "ERROR");
});
var url = 'https://accounts.google.com/ServiceLogin?service=finance';
casper.start(url, function() {
// search for 'casperjs' from google form
console.log("page loaded");
this.test.assertExists('form#gaia_loginform', 'form is found');
this.fill('form#gaia_loginform', {
Email: '[email protected]',
Passwd: 'yourpass'
}, true);
});
casper.each(links, function(casper, link) {
this.then(function() {
this.test.comment("Loading " + link);
start = new Date();
this.open(link);
});
this.then(function() {
var message = this.requestUrl + " loaded";
if (failed.indexOf(this.requestUrl) === -1) {
this.test.pass(message);
fs.write('portfolio.html',this.getPageContent(),'w');
}
});
});
casper.run();
देखें http://stackoverflow.com/questions/10040954/alternative-to-google-finance-api –
याहू वित्त एपीआई उपयोगकर्ता के पोर्टफोलियो तक पहुंच की अनुमति नहीं देता – gnychis
आपको कुकीज़ को स्टोर करने वाले क्लाइंट को लागू करने की आवश्यकता है जावास्क्रिप्ट, और यदि आप किसी Google खाते में लॉग इन करना चाहते हैं तो रीडायरेक्ट को संभालता है। क्यों न केवल टिकर प्रतीकों को मैन्युअल रूप से निर्यात करें और फिर अलग-अलग उद्धरण प्राप्त करने के लिए सार्वजनिक API को स्क्रैप करें। सार्वजनिक एपीआई अभी भी काम करता है और शायद Google की नीतियों को कम से कम 3 वर्षों तक काम करेगा। https://www.google.com/finance/info?q=NASDAQ:AAPL –