
إزالة الفوضى من قائمة عناوين URL
هذه أداة تُستخدم لتنقية قائمة عناوين URL من التكرارات. كنقطة انطلاق، اعتمدت على الأداة الرائعة uro من إعداد Somdev Sangwan. لكنني أردت تغيير بعض الأمور، وإجراء بعض التحسينات (مثل التعامل مع GUIDs)، وجعلها أكثر قابلية للتخصيص.
يدعم urless Python 3.
قم بتثبيت urless في بيئة بايثون الافتراضية (العامة).
pip install urless
أو
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
يمكنك الترقية باستخدام
pip install --upgrade urless
إعداد سريع في بيئة بايثون معزولة باستخدام pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| الوسيط | الوسيط الطويل | الوصف |
|---|---|---|
| -i | --input | ملف يحتوي على عناوين URL لتنقيتها. |
| -o | --output | ملف الإخراج الذي سيحتوي على قائمة عناوين URL المنقّاة (الافتراضي: output.txt). إذا تم تمرير الإخراج عبر الأنبوب إلى برنامج آخر، فسيتم كتابة الإخراج إلى STDOUT بدلاً من ذلك. |
| -fk | --filter-keywords | قائمة مفصولة بفواصل من الكلمات المفتاحية لاستبعاد الروابط (إذا لم تكن هناك معاملات). سيؤدي هذا إلى تجاوز قائمة FILTER_KEYWORDS المحددة في config.yml |
| -fe | --filter-extensions | قائمة مفصولة بفواصل من امتدادات الملفات لاستبعادها. سيؤدي هذا إلى تجاوز قائمة FILTER_EXTENSIONS المحددة في config.yml |
| -rp | --remove-params | قائمة مفصولة بفواصل من المعاملات الحساسة لحالة الأحرف لإزالتها من جميع عناوين URL. سيؤدي هذا إلى تجاوز قائمة REMOVE_PARAMS المحددة في config.yml. يمكن أن يكون هذا مفيدًا لإزالة معاملات كسر التخزين المؤقت على سبيل المثال.** |
| -ks | --keep-slash | لن تتم إزالة الشرطة المائلة في نهاية عنوان URL في الإدخال. لذلك قد تكون هناك عناوين URL متطابقة في الإخراج، واحدة بشرطة مائلة وأخرى بدونها. |
| -khw | --keep-human-written | افتراضيًا، تتم إزالة أي عنوان URL يحتوي جزء مساره على أكثر من 3 شرطات (-) لأنه يُفترض أنه محتوى مكتوب بواسطة البشر (مثل منشورات المدونات)، وليس مثيرًا للاهتمام. تمرير هذا الوسيط سيبقيها في الإخراج. |
| -kym | --keep-yyyymm | افتراضيًا، تتم إزالة أي عنوان URL يحتوي مساره على /YYYY/MM (حيث YYYY سنة و MM شهر) لأنه يُفترض أنه محتوى مدونة/أخبار، وليس مثيرًا للاهتمام. تمرير هذا الوسيط سيبقيها في الإخراج. |
| -rcid | --regex-custom-id | استخدم بحذر! تعبير نمطي لمعرف مخصص يستخدمه هدفك. تأكد من تمرير القيمة بين علامتي اقتباس. راجع القسم أدناه لمزيد من التفاصيل حول هذا. |
| -iq | --ignore-querystring | قم بإزالة سلسلة الاستعلام (بما في ذلك أجزاء URL #) بحيث يكون الإخراج مسارات فريدة فقط. |
| -fnp | --fragment-not-param | لا تتعامل مع أجزاء URL # بنفس طريقة التعامل مع المعاملات، على سبيل المثال إذا كان الرابط يحتوي على كلمة مفتاحية للتصفية وجزء (أو معامل) فعادةً ما يتم الاحتفاظ بالرابط، ولكن إذا تم تمرير هذا الوسيط وكان الرابط يحتوي على كلمة تصفية وجزء، فسيتم إزالة الرابط. أيضًا، إذا تم تمرير هذا الوسيط واستُخدم -iq / --ignore-querystring، فلن تتم إزالة الجزء من الروابط إذا لم تكن هناك سلسلة استعلام في الرابط. |
| -lang | --language | إذا تم تمريره وكانت هناك عناوين URL متعددة برموز لغات مختلفة كجزء من المسار، فسيتم إخراج نسخة واحدة فقط من عنوان URL. الرموز محددة في قسم LANGUAGE في config.yml. |
| -c | --config | مسار ملف الإعداد YML. إذا لم يتم تمريره، فسيبحث عن ملف config.yml في دليل الإعداد الافتراضي، مثل ~/.config/urless/. |
| -dp | --disregard-params | هناك تصفية معينة لا تتم إذا كانت عناوين URL تحتوي على معاملات، لأننا افتراضيًا نريد رؤية جميع المعاملات الممكنة. إذا تم تمرير هذا الوسيط، فسيتم إجراء التصفية بغض النظر عن وجود أي معاملات. |
| -nb | --no-banner | يخفي شعار الأداة من الإخراج (يكون مخفيًا افتراضيًا إذا قمت بتمرير الإدخال عبر الأنبوب إلى urless). |