
زاحف ويب تفاعلي لواجهة سطر الأوامر
زاحف ويب تفاعلي لواجهة الأوامر (CLI).
إيفين هو زاحف ويب ومستخرج بيانات ويب بسيط وسريع وتفاعلي، مكتوب بلغة Golang. إيفين مفيد لمجموعة واسعة من الأغراض مثل استخراج البيانات الوصفية والبيانات، وتنقيب البيانات، والاستطلاع، والاختبار.
إذا أعجبك المشروع، قم بإعطائه نجمة. فهذا يجبرني على تطويره!
الإصدارات الثنائية مسبقة البناء متاحة أيضًا (موصى به).
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
سيعرض مساعدة الأداة:
المفاتيح هي كلمات مفتاحية محددة مسبقًا يمكن استخدامها لتحديد البيانات مثل الروابط ضمن النطاق، الروابط خارج النطاق، البريد الإلكتروني، إلخ. قائمة بجميع المفاتيح:
ربما تريد ملفًا غير معرّف في المفاتيح. ماذا يمكنك أن تفعل؟ يمكنك بسهولة كتابة امتداد الملف في مشهد الاستعلام. مثل png, xml, txt, docx, xlsx, a, mp3، إلخ.
إذا كانت لديك مهارات أساسية في JQuery، يمكنك استخدام هذه الميزة بسهولة، ولكن إذا لم تكن لديك، فهي ليست صعبة جدًا. للحصول على نظرة سريعة حول المنتقيات، w3schools مصدر رائع. مثال (للبحث عن source[src]):
$("source").attr("src") // To find all of source[src] urls
$("h1").text() // To find h1 values
قالب:
$("SELECTOR").METHOD_NAME("arg")
لا يدعم الاستعلامات مثل التالية:
$('SELECTOR').METHOD("arg")
$('SELECTOR').METHOD('arg')
$("SELECTOR" ).METHOD("arg" )
الطرق موصوفة أدناه:
للإبلاغ عن الأخطاء أو الاقتراحات، قم بإنشاء تذكرة.
إيفين مستوحى بشكل كبير من wuzz.
| الاختصار | الوصف |
|---|
| Enter | تشغيل الزاحف (من عرض الرابط) |
| Enter | عرض الاستجابة (من عرض المفاتيح والتعبيرات النمطية) |
| Tab | العرض التالي |
| Ctrl+Space | تشغيل الزاحف |
| Ctrl+S | حفظ الاستجابة |
| Ctrl+Z | خروج |
| Ctrl+R | استعادة القيم الافتراضية (من عرض الخيارات والرؤوس) |
| Ctrl+Q | إغلاق عرض حفظ الاستجابة (من عرض الحفظ) |
| العلامة | الوصف | مثال |
|---|
| -url | الرابط المراد زحفه | evine -url toscrape.com |
| -url-exclude string | استبعد الروابط المطابقة لهذا التعبير النمطي (الافتراضي ".*") | 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 | عدد الـ goroutines المتزامنة للحل (الافتراضي 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 | أقصى نتيجة لبحث التعبير النمطي لحقل التعبير النمطي (الافتراضي 1000) | evine -max-regex -1 |
| -robots | احصل على robots.txt للروابط واستخدمها كبذور | evine -robots |
| -sitemap | احصل على sitemap.xml للروابط واستخدمها كبذور | evine -sitemap |
| -wayback | احصل على روابط WayBack (web.archive.org) للروابط واستخدمها كبذور | evine -sitemap |