मैं वर्तमान में क्रोम ड्राइवर और सेलेनियम के बिना हजारों पृष्ठों को बचाने के लिए उबंटू पर क्रोम ब्राउज़र (क्रोम ड्राइवर नहीं) को स्वचालित करने की कोशिश कर रहा हूं जो किसी तरह साइट द्वारा निषिद्ध हैं।

मैक ओएस में, ऐपस्क्रिप्ट क्रोम ड्राइवर और सेलेनियम के बिना क्रोम को संभाल सकता है। और मैं पृष्ठ को डाउनलोड करने के स्वचालन में सफल होता हूं। हालाँकि, मुझे उबंटू में ऐपस्क्रिप्ट के विकल्प नहीं मिले।

इस प्रकार, मैं automate-save-page-as< को संदर्भित करके कीबोराड ऑटोमेशन टूल (xdotool) का उपयोग करता हूं। /ए>. यह मुझे एक पृष्ठ खोलने और इसे भंडारण में सहेजने में सक्षम बनाता है, लेकिन यह बहुत धीमा, अस्थिर और कोड को समझने में कठिन है।

क्या उबंटू में सेलेनियम और क्रोम ड्राइवर का उपयोग किए बिना क्रोम ब्राउज़र को स्वचालित करने का कोई प्रशंसनीय तरीका है? या क्या कोई xdotool का उपयोग करके एक ही समय में कई पेज खोलने के लिए कुछ संकेत दे सकता है और कुछ सेकंड के बाद इसे स्थानीय में सहेज सकता है?

0
JonghoKim 7 अक्टूबर 2018, 12:37

1 उत्तर

सबसे बढ़िया उत्तर

मैं इस समस्या के समाधान को लागू करता हूं। "ubuntu_automation_example_multiple.py" चेक करें।

https://github.com/jonghkim/browser-automation-beyond-firewall

मैं automate-save को संदर्भित करके दो आवश्यक स्क्रिप्ट फ़ाइलें लिखता हूं जो "save_page_as_multiple_open" और "save_page_as_multiple_save" हैं। -पृष्ठ-जैसा.

#-*- coding: utf-8 -*-
import os
import warnings
import time
warnings.filterwarnings('ignore')

def trick_open(url, fname):
    cmd = "./save_page_as_multiple_open '{}' --destination '{}'".format(url, fname)
    os.system(cmd)

def trick_save(url, fname):
    cmd = "./save_page_as_multiple_save '{}' --destination '{}'".format(url, fname)
    os.system(cmd)

if __name__ == "__main__":
    url = 'https://www.example.com'
    cwd = os.getcwd()

    for i in range(5):
        trick_open(url, cwd + "/example{}.html".format(i))

    time.sleep(5)

    for i in reversed(range(5)):
        print("Save Path: ", cwd + "/example{}.html".format(i))
        trick_save(url, cwd + "/example{}.html".format(i))

    cmd = "killall google-chrome"
    os.system(cmd)

"save_page_as_multiple_open" में, यह xdotool का उपयोग करके कई url खोलता है। उसके बाद, "save_page_as_mutil_save" प्रत्येक पृष्ठ को सहेजता है और पृष्ठ को उल्टे क्रम में बंद कर देता है।

0
JonghoKim 9 अक्टूबर 2018, 05:41