2013-03-10 8 views
8

मैं कैसे एचटीएमएल के रूप में या Chrome ब्राउज़र में कमांड लाइन का उपयोग कर .txt पेज को बचाने के लिए खोजने के लिए एक कठिन समय चल रहा है का उपयोग करते हुए उसके स्रोत कोड बचाने के लिए,ओपन यूआरएल और कमांड प्रॉम्प्ट

यह है कि मैं क्या है है अब तक किया है,

C:\Users\Cipher\AppData\Local\Google\Chrome\Application>chrome.exe --new-window 
http://google.com 

यह आदेश क्रोम ब्राउज़र की एक नई विंडो खुलेगी और google.com पर जाएं जाएगा, लेकिन मैं हमारे कैसे मैं HTML के रूप में या txt फ़ाइल के रूप में google.com बचा सकता है की कल्पना करने में सक्षम नहीं हो सकता है, वैसे भी ऐसा करने के लिए कमांड प्रॉम्प्ट का उपयोग कर रहा है?

+1

मेरी रणनीति एक डमी उपयोगकर्ता डेटा डीआईआर निर्दिष्ट करने के लिए होगी ('--user-data-dir' ध्वज का उपयोग करके - http://www.ericdlarson.com/misc/chrome_command_line_flags.html देखें) और फिर कॉपी करें Temp निर्देशिका से सबसे छोटी HTML फ़ाइल जो भी आप चुनते हैं गंतव्य। आप शायद कमांड के प्रत्येक भाग के हिस्से के रूप में डमी डेटा डीआईआर बनाना और नष्ट करना चाहते हैं। – Noyo

+0

शायद '--record-mode' ध्वज के संयोजन के साथ प्रयोग किया जाता है, जो "कैश में * सबकुछ * बचाता है"? –

उत्तर

0

उपयोग http://en.wikipedia.org/wiki/Chromium_Embedded_Framework (webbrowser घटक में निर्माण) डाउनलोड और प्रदर्शन पेज के लिए:

यहाँ Python के लिए उदाहरण कोड (नहीं परीक्षण किया है)।

उसके बाद, इसे वांछित करें जैसा आप चाहते हैं उसे सहेजें।

+0

कैसे तुम क्या ओ पी चाहता है ऐसा करने के लिए यह प्रयोग करते हैं? –

+1

@ श्रीधर-सरनोबत अच्छा सवाल लगभग 3 साल के बाद। मैं अब क्रोमियम का उपयोग नहीं कर रहा हूं और मेरे पास परियोजनाओं तक पहुंच नहीं है जहां यह था। मतदान के लिए धन्यवाद। – Zam

+0

मुझे नहीं लगता कि मैं downvoted, डाउन आइकन नारंगी नहीं है। मैं दूसरे एक है कि 'wget' जो एकदम अपर्याप्त है उल्लेख है downvoted। –

8

क्या आपको वाकई Google क्रोम खोलने की ज़रूरत है? आप Wget का उपयोग कर पृष्ठ स्रोत प्राप्त कर सकते हैं (यूनिक्स सिस्टम के लिए उपलब्ध है या विंडोज in this post on SuperUser के लिए उपलब्ध है)। एक बार स्थापित, बस निम्न आदेश का उपयोग:

wget http://google.com -O yourfilename.html 

और यह सब :) मैं वहाँ एक रास्ता है, हालांकि कमांड लाइन से एचटीएमएल डाउनलोड करने के लिए क्रोम बताने के लिए है नहीं लगता कि होना चाहिए :(

अद्यतन:। वहाँ एक रेपो GitHub पर chrome-cli कमांड लाइन से क्रोम नियंत्रित करने के लिए उपयोगकर्ता की अनुमति देता है कि कहा जाता है नकारात्मक पहलू है कि यह केवल मैक ओएस एक्स पर काम करता है

+0

मैं बस सोच रहा हूं, इसके लिए क्या संभव कारण हो सकता है? यदि आप स्रोत कोड डाउनलोड करते हैं ... यह सिर्फ स्रोत कोड है। अधिकतम, इसे क्रोम उपयोगकर्ता-एजेंट को समायोजित किया जा सकता है, जिसे अन्य टूल्स – Tigra

+1

@ टिग्रा के साथ भी अनुकरण किया जा सकता है। कई वेब पृष्ठों के लिए स्रोत कोड * उपयोगकर्ता द्वारा वर्तमान में लॉग इन किए गए उपयोगकर्ता के आधार पर * बहुत * अलग है। –

+0

सवाल पुराना है। वैसे भी, जैसा कि मैंने कहा था: स्रोत कोड स्रोत कोड है। उपयोगकर्ता में लॉग इन जादू नहीं है। यह प्रदान की गई कुकीज़ के लिए प्रतिक्रिया है। जो कर्ल के माध्यम से भी पारित किया जा सकता है। – Tigra

6

आप कार्य आप मैन्युअल रूप से वर्णन नहीं कर सकता, लेकिन आप प्रदर्शन कर सकते हैं है यह वेबड्राइवर स्वचालन का उपयोग कर रहा है।

क्रोम को WebDriver (सेलेनियम 2 स्वचालित सूट का हिस्सा) नामक एपीआई का उपयोग करके रिमोट नियंत्रित किया जा सकता है। वेबड्राइव में विभिन्न प्रोग्रामिंग भाषाओं के लिए बाइंडिंग है, उदाहरण सहित जावास्क्रिप्ट और पायथन।

from selenium import webdriver 

driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path. 
driver.get('http://www.google.com/'); 
html = driver.page_source 
f = open("myhtml", "wt") 
f.write(html) 
f.close() 

Orignal example

+0

यह क्रोम में वास्तव में ऐसा करने से अधिक धीरे-धीरे काम कर रहा है http://www.notalwaysright.com/page/1 – ytpillai

+0

यह सही उत्तर चिह्नित किया जाना चाहिए। यह एक ऐसा समाधान है जो वास्तव में काम करता है और मजबूत है। यह सिर्फ एक शर्म की बात है कि आपको केवल एक ही आदेश का आह्वान करने के बजाय एक स्क्रिप्ट लिखनी है। –

+0

और क्रोमियम के नए नेतृत्वहीन सुविधा का उपयोग करने की कोशिश कर रहा एक 6gb रेपो क्लोनिंग और संकलन, जहाँ तक मैं बता सकता है शामिल है। जी नहीं, धन्यवाद। –

4

मैंने बिल्कुल इस कार्य को करने के लिए एक छोटी सी स्क्रिप्ट बनाई: https://github.com/abiyani/automate-save-page-as। रीडमे में डेमो gif देखें।

यह स्वचालित रूप से पृष्ठ को सहेजने के लिए स्वचालित रूप से प्रदर्शन करने वाले कीबोर्ड क्रियाओं को स्वचालित रूप से करता है (सचमुच उन कुंजी संकेतों को ओएस भेजता है)। मेरे एक अन्य प्रोजेक्ट में इसका उपयोग करने के दुष्प्रभाव के रूप में, यह विभिन्न लिनक्स स्वादों पर परीक्षण किया गया है: उबंटू, मिंट, फेडोरा, आदि - और उन सभी पर ठीक काम करता है। यह शायद मैक पर (कम से कम संशोधन के बिना) काम नहीं करेगा, और निश्चित रूप से विंडोज़ पर नहीं।

+1

अच्छा काम। किसी के लिए सोचने के लिए - यह Google क्रोम बाइनरी का आह्वान करके काम करता है, फिर कीस्ट्रोक भेजने के लिए 'xdotool' का उपयोग करता है: https://github.com/abiyani/automate-save-page-as/blob/master/save_page_as –

संबंधित मुद्दे