
इंटरैक्टिव CLI वेब क्रॉलर
इंटरैक्टिव CLI वेब क्रॉलर.
Evine एक सरल, तेज़ और इंटरैक्टिव वेब क्रॉलर और वेब स्क्रैपर है जो Golang में लिखा गया है। Evine विभिन्न उद्देश्यों जैसे मेटाडेटा और डेटा निष्कर्षण, डेटा माइनिंग, टोही और परीक्षण के लिए उपयोगी है।
यदि आपको प्रोजेक्ट पसंद आए, तो इसे एक स्टार दें। इससे मुझे प्रोजेक्ट विकसित करने के लिए प्रेरणा मिलती है!
पूर्व-निर्मित बाइनरी रिलीज़ भी उपलब्ध हैं (सुझावित)।
go get github.com/saeeddhqan/evine
"$GOPATH/bin/evine" -h
git clone https://github.com/saeeddhqan/evine.git
cd evine
go build .
mv evine /usr/local/bin
evine --help
नोट: golang 1.13.x आवश्यक है।
evine -h
यह टूल के लिए सहायता प्रदर्शित करेगा:
कुंजियाँ पूर्वनिर्धारित कीवर्ड हैं जिनका उपयोग इन-स्कोप URL, आउट-स्कोप URL, ईमेल आदि जैसे डेटा निर्दिष्ट करने के लिए किया जा सकता है। सभी कुंजियों की सूची:
शायद आप एक ऐसी फ़ाइल चाहते हैं जो कुंजियों में परिभाषित नहीं है। आप क्या कर सकते हैं? आप क्वेरी दृश्य पर फ़ाइल का एक्सटेंशन आसानी से लिख सकते हैं। जैसे png,xml,txt,docx,xlsx,a,mp3 आदि।
यदि आपके पास बुनियादी JQuery कौशल हैं, तो आप इस सुविधा का आसानी से उपयोग कर सकते हैं, लेकिन यदि नहीं, तो यह बहुत कठिन नहीं है। सेलेक्टर्स पर त्वरित दृष्टिकोण के लिए w3schools एक बढ़िया स्रोत है।
उदाहरण (source[src] खोजने के लिए):
$("source").attr("src") // सभी source[src] URL खोजने के लिए
$("h1").text() // h1 मान खोजने के लिए
टेम्पलेट:
$("SELECTOR").METHOD_NAME("arg")
यह नीचे दिए गए जैसी क्वेरी का समर्थन नहीं करता:
$('SELECTOR').METHOD("arg")
$('SELECTOR').METHOD('arg')
$("SELECTOR" ).METHOD("arg" )
विधियाँ नीचे वर्णित हैं:
बग या सुझाव रिपोर्ट करने के लिए, एक इश्यू बनाएँ।
Evine wuzz से काफी प्रेरित है।
| कुंजी बाइंडिंग | विवरण |
|---|
| Enter | क्रॉलर चलाएँ (URL दृश्य से) |
| Enter | प्रतिक्रिया प्रदर्शित करें (कीज़ और रेगेक्स दृश्यों से) |
| Tab | अगला दृश्य |
| Ctrl+Space | क्रॉलर चलाएँ |
| Ctrl+S | प्रतिक्रिया सहेजें |
| Ctrl+Z | बाहर निकलें |
| Ctrl+R | डिफ़ॉल्ट मानों पर पुनर्स्थापित करें (विकल्प और हेडर दृश्यों से) |
| Ctrl+Q | प्रतिक्रिया सहेज दृश्य बंद करें (सहेज दृश्य से) |
| फ़्लैग | विवरण | उदाहरण |
|---|
| -url | क्रॉल करने के लिए URL | evine -url toscrape.com |
| -url-exclude string | इस regex से मेल खाने वाले URL को बाहर करें (डिफ़ॉल्ट ".*") | evine -url-exclude ?id= |
| -domain-exclude string | क्रॉल करने के लिए इन-स्कोप डोमेन को बाहर करें। अल्पविराम से अलग करें। डिफ़ॉल्ट = रूट डोमेन | evine -domain-exclude host1.tld,host2.tld |
| -code-exclude string | इन कोड के साथ HTTP स्थिति कोड को बाहर करें। '|' से अलग करें (डिफ़ॉल्ट ".*") | evine -code-exclude 200,201 |
| -delay int | प्रत्येक अनुरोध के बीच विलंब (मिलीसेकंड) | evine -delay 300 |
| -depth | स्क्रैपर गहराई खोज स्तर (डिफ़ॉल्ट 1) | evine -depth 2 |
| -thread int | हल करने के लिए समवर्ती गोरूटीन की संख्या (डिफ़ॉल्ट 5) | evine -thread 10 |
| -header | प्रत्येक अनुरोध के लिए HTTP हेडर (फ़ील्ड को \n द्वारा अलग किया जाना चाहिए) | evine -header KEY: VALUE\nKEY1: VALUE1 |
| -proxy string | scheme://ip:port द्वारा प्रॉक्सी | evine -proxy http://1.1.1.1:8080 |
| -scheme string | अनुरोधों के लिए स्कीम सेट करें (डिफ़ॉल्ट "https") | evine -scheme http |
| -timeout int | टाइमआउट से पहले प्रतीक्षा करने के लिए सेकंड (डिफ़ॉल्ट 10) | evine -timeout 15 |
| -query string | JQuery अभिव्यक्ति (यह एक फ़ाइल एक्सटेंशन (pdf), एक कुंजी क्वेरी (url,script,css,..) या एक jquery सेलेक्टर ($("a[class='hdr']).attr('hdr')")) हो सकता है | evine -query url,pdf,txt |
| -regex string | पृष्ठ सामग्री पर नियमित अभिव्यक्ति खोजें | evine -regex 'User.+' |
| -logger string | एक फ़ाइल में त्रुटियाँ लॉग करें | evine -logger log.txt |
| -max-regex int | regex फ़ील्ड के लिए regex खोज का अधिकतम परिणाम (डिफ़ॉल्ट 1000) | evine -max-regex -1 |
| -robots | URL के लिए robots.txt स्क्रैप करें और उन्हें बीज के रूप में उपयोग करें | evine -robots |
| -sitemap | URL के लिए sitemap.xml स्क्रैप करें और उन्हें बीज के रूप में उपयोग करें | evine -sitemap |
| -wayback | URL के लिए WayBackURLs (web.archive.org) स्क्रैप करें और उन्हें बीज के रूप में उपयोग करें | evine -sitemap |