14Aug
howto هذا وسوف تظهر لك كيفية بسهولة في سطر الأوامر لينكس تحليل ملفات السجل اباتشي الخاص بك للحصول على بيانات الاستعلام سلسلة البحث هذا النوع المستخدمين على العثور على صفحة الويب الخاصة بك في محرك البحث.ولقد تضمنت بحث واجهة المستخدم الرسومية فب فضلا عن سهولة الاستخدام.
- 1 استخدام AWK والحوار الاقتصادي الاستراتيجي لتحليل ملفات السجل اباتشي لبحث المستخدم كتابة الاستعلامات
- 2 المعروفة مشاكل
- 3 الإصدار 2: أقل تجهيزها سطر الأوامر ومعالجة أكثر فب
- 4 تودو
- 5 نصائح الخدع اندتحذيرات
- 6 التعليقات
استخدام AWK والحوار الاقتصادي الاستراتيجي لتحليل ملفات السجل اباتشي لبحث المستخدم كتابة الاستعلامات
هنا هو رمز الخام لانجاز هذه المهمة.لاحظ أن $ TITLE2 يجب أن يحل محل من قبل ما كنت تبحث عن ولكن يتم استبدال المساحات مع "\ +".
على سبيل المثال: "كيف تجد lollypop كبير" سيكون "كيف \ + ل\ + تجد \ + A \ + \ كبير + lollypop"
وذلك لأن أخطط لدعوة من وظيفة PHP، حيث سأقومتجميع $ TITLE2 كما سترون في وقت لاحق.أنا يمكن أن يكون وضع
egrep في وقت لاحق ولكن بعد ذلك سوف لا يكون لديك خيار من البحث كل من عنوان الصفحة والاستفسارات.بلدي النسخة الأصلية البحث فقط استفسار ولكن أردت وظيفة أتمكن من الاتصال بسهولة لصفحة معينة ورؤية كل الاستفسارات التي تكتب المستخدمين خلال الأسابيع القليلة الماضية. القط /var/log/virtualmin/VisiHow.com_access_log |البيانات #Get من egrep سجل وصول "(ف | ع) =" |# استخدام فقط السجلات التي تحتوي على الأرجح استعلامات البحث سد الصورة /٪ 22 / "/ ز، ق / 20٪ / + / ز، ق / _ / + / غرام؛" | #Do بعض تغييرات التنسيق والأهم من ذلك تغيير جميع المساحاتأو يؤكد ل+ egrep من أنا "$ TITLE2" | # البحث تورنت ل$ TITLE2 AWK '{طباعة $ 11} | #extract فقط بيانات البحث سد الصورة / ص = / ف = / IG "| #handle ياهو ص = AWK -F 'ف =' '{طباعة $ 2}' | #grab جميع البيانات بدءا ف = ااا الصورة / ف = // ز، ق / + / / ز، ق /٪ 22 / "/ ز، ق / 20٪/ / غرام؛ "|#reformat إلى صيغة قابلة للقراءة الإنسان قطع -d "& أمبير؛"-f 1 |#strip من غيرها من المعالم AWK '{طباعة $ 0 "
"} # إضافة فواصل صلة
لأننا نخطط لإخراج لصفحة ويب
== دعونا إنشاء المجمع واجهة المستخدم الرسومية PHP
HTML لهذا الآن ==لجعل هذا الاستخدام بسهولة نريد الوصول إلى البيانات الاستعلام المستخدم من نموذج بحث صفحة على شبكة الإنترنت.
queries.php
العلامة & lt؛ عنوان & GT؛ استعلامات العضو العلامة & lt؛ / عنوان & GT.العلامة & lt؛ ميتا اسم = "الروبوتات" محتوى = "لمنع الفهرسة" و GT.
العلامة & lt؛ شكل اسم = "sform" أسلوب = "الحصول على" و GT.البحث العنوان: العلامة & lt؛ مدخلات حجم = "80" قيمة = "؟ العلامة & lt؛ PHP صدى $ _GET [ 'عنوان']؛ & GT؛؟"اسم = "عنوان" نوع = "نص" و GT.العلامة & lt؛ قيمة المدخلات = "بحث" نوع = "إرسال" و GT.تلميح: يمكنك استخدام عنوان جزئي أو حتى REGEX مثل العلامة & lt؛ / شكل وGT؛ "سامسونج * الضرر."
$ عنوان = $ _GET [ 'عنوان'].$ عنوان = preg_replace( "/ كيفية / أنا"، ""، عنوان $)؛$ TITLE2 = str_replace( ""، "\ +"، $ لقب)؛$ TITLE2 = str_replace( "_"، "\ +"، $ TITLE2)؛
$ bigcmd = العلامة & lt؛ العلامة & lt؛ العلامة & lt؛ الفولكلوري
egrep -i "(ف | ع) =" |# استخدام فقط السجلات التي تحتوي على الأرجح استعلامات البحث سد الصورة /٪ 22 / "/ ز، ق / 20٪ / + / ز، ق / _ / + / غرام؛" | #Do بعض تغييرات التنسيق والأهم من ذلك تغيير جميع المساحاتأو يؤكد ل+ egrep -i "$ TITLE2" | # البحث تورنت لAWK TITLE2 '{طباعة $ 11} | #extract فقط بيانات البحث سد الصورة / ص = / ف = / IG "| #handle ياهو ص = AWK -F"ف = ''{ طباعة $ 2} '| #grab جميع البيانات بدءا ف = ااا الصورة / ف = // ز، ق / + / / ز، ق /٪ 22 /" / ز، ق / 20٪ // غرام؛ "|#reformat إلى صيغة قابلة للقراءة الإنسان قطع -d "& أمبير؛"-f 1 |#strip من غيرها من المعالم AWK '{طباعة $ 0 ""} # إضافة
صلة فواصل لأننا نخطط لإخراج لصفحة ويب
EOF.
إذا "{
طباعة البحث عن" لقب $ "..."( $ عنوان = "!)".طباعة "الأسبوع الجاري. ..".طباعة `القط /var/log/virtualmin/visihow.com_access_log |البيانات #Get من سجل وصول $ bigcmd `.// ندعم ع = جدا لياهو يستخدم ذلك. .. بطة غريبة لول ل($ ط = 1؛ ط $ العلامة & lt؛ 6؛ $ ط ++){ طباعة "
$ ط أسبوع مضت
".طباعة `zcat /var/log/virtualmin/visihow.com_access_log.$i.gz |البيانات #Get من سجل وصول $ bigcmd `.}}
& GT؛؟
العلامة & lt؛ / الفولكلوري
المعروفة مشاكل
والبقرى هو التقاط السجلات مع البيانات المرجعية لذلك يعود السجلات غير المرغوب فيها.على سبيل المثال إذا قام شخص ما بالبحث عن "آي فون"، وكان المستخدم على صفحة فون ثم النقر للذهاب إلى صفحة سامسونج، هذا الرمز تلتقط اي فون من المرجع وبالتالي يشمل تلك البيانات التي لا ينبغي.أنا أعمل على الإصدار 2، أن يفعل أكثر من ذلك بكثير، وسوف إصلاح هذا الخطأ عن طريق تحريك الكثير من تجهيزها سطر الأوامر في بي.سوف رمز أن يكون أكثر منفرجة، ولكن سوف تعطي بيانات أكثر مفيدة ودقيقة.
الإصدار 2: أقل تجهيزها سطر الأوامر ومعالجة أكثر فب
هذا الإصدار يحتوي على مزايا / العيوب التالية:
- أقل سطر الأوامر تجهيزها يعني كود أطول
- المزيد فب يعني مزيدا من السيطرة ويتميز
- يتجاهل طلبات مكررة متعددة من نفس الملكية الفكرية
- التهم تفتيش متعددة بدلا من سرد لهم عدة مرات
- مشاهدة تتجه المعلومات عن طريق عرض المجاميع الأسبوعية
- الناتج هوفي عناصر div تمرير لسهولة المشاهدة صفحات شعبية
- التصنيف حسب أطوال الاستعلام بلغ، وهو ما يعني حوالي صفحات أكثر شعبية تظهر لأول مرة
- قليلا سريعة وقذرة جافا سكريبت اندالمغلق لجعل السيارات عناصر div إلى التوسع في تفصيلا عرض
العلامة & lt؛ عنوان & GT، العضو استعلامات العلامة & lt؛ / عنوان & GT.العلامة & lt؛ ميتا اسم = "الروبوتات" محتوى = "لمنع الفهرسة" و GT.
العلامة & lt؛ شكل اسم = "sform" أسلوب = "الحصول على" و GT.عنوان البحث: العلامة & lt؛ مدخلات حجم = "80" قيمة = "العلامة & lt؛ فب
إذا( strlen( $ _ GET [ 'عنوان']) وGT، 0){
صدى $ _GET [ 'عنوان'].
} آخر{
صدى "*"؛ & اللفتنانت؛ ر = "" نوع = "نص" & GT؛} و GT.؟ "اسم = "عنوان" / & GT.العلامة & lt؛ قيمة المدخلات = "بحث" نوع = "إرسال" و GT.
تلميح: أدخل * لرؤية كل شيء.يمكنك استخدام عنوان جزئي أو حتى REGEX مثل "سامسونج * الضرر." العلامة & lt؛ / شكل وGT.
( $ لذلك، $ ب){
عودة strlen( $ ب) -strlen( $ أ).}
$ عنوان = $ _GET [ 'عنوان'].$ عنوان = preg_replace( "/ كيفية / أنا"، ""، عنوان $)؛$ TITLE2 = str_replace( ""، "\ +"، $ لقب)؛$ TITLE2 = str_replace( "_"، "\ +"، $ TITLE2)؛
$ bigcmd = العلامة & lt؛ العلامة & lt؛ العلامة & lt؛ الفولكلوري
egrep -i "(ف | ع) =" |# استخدام فقط السجلات التي تحتوي على الأرجح استعلامات البحث سد الصورة /٪ 22 / "/ ز، ق / 20٪ / + / ز، ق / _ / + / غرام؛" | #Do بعض تغييرات التنسيق والأهم من ذلك تغيير جميع المساحاتأو يؤكد ل+ AWK '{طباعة $ 1 "" $ 7 "" 11 $}' | egrep -i "$ TITLE2" # البحث تورنت لTITLE2EOF،
إذا( $ عنوان = "!"){
الطباعة "البحث عن" لقب $ "..."، ل($ ط = 0؛ ط $ العلامة & lt؛ 6؛ $ ط ++){ إذا( $ ط == 0){ $ searchlogdata = `القط /var/log/virtualmin/visihow.com_access_log | $ bigcmd`؛}{ $ آخر searchlogdata =` zcat /var/log/virtualmin/visihow.com_access_log.$i.gz | $ bigcmd`.} $ searchlogarray = تنفجر( "\ ن"، $ searchlogdata)؛ foreach( $ searchlogarray كما sdata $){ $ logparts = تنفجر( ""، $ sdata)؛ $ الملكية الفكرية = $ logparts [0]؛ $ URL = $ logparts[1]؛ preg_match( "/( ف | ع) =( *).؟"( \ & أمبير؛ |؟ $) / "، $ logparts [2]، $ مباريات)؛$ SS = urldecode( $ مباريات [2])؛$ SS = str_replace( "+"، ""، $ ق ق).إذا( (strlen( تقليم( ق ق $)) & GT؛ 3) وأمبير؛ & أمبير؛( preg_match( "# HTTP \: \ / \ / # أنا"، $ ق ق))!){ // ابعاد رابط من عمليات تفتيش في الموقعإذا( ($ الملكية الفكرية = $ الشفة) ||( $ SS = $ LSS)!){ $ شفة = $ الملكية الفكرية.$ LSS = $ SS.$ ssdata [ "$ رابط"] = "$ SS |"؛}}} uasort( $ مجموعة، "sortbylen ')؛foreach( $ ssdata من $ المفتاح = & GT؛ $ قيمة){ $ سار = تنفجر( "|"، $ قيمة)؛foreach( $ سار كما ق $){ إذا( strlen( $ ق) وGT، 0) $ S2 [$ الصورة] ++؛} arsort( $ S2)؛foreach( S2 $ من $ key2 = & GT؛ $ VAL2){ $ urldata [$ المفتاح] [$ ط] = "$ VAL2: $ key2"؛$ STOT [$ المفتاح] [$ ط] + = $ VAL2.} ضبطه( $ S2)؛} إلغاء تعيين( $ ssdata)؛} foreach( $ urldata من $ URL = & GT؛ $ weekdata){ طباعة " العلامة & lt؛ الهدف =" _ فارغة "أ href =" $ رابط "& GT؛ $ رابط العلامة & lt؛ / أ & GT؛
".$ أسبوع = 0؛... foreach( $ weekdata من $ الأسبوع){ طباعة "
" $ أسبوع ++ "أسبوع مضت: مجموع بحث =" $ STOT [$ رابط] [$ أسبوع-1] "
"؛طباعة "العلامة & lt؛ شعبة onmouseover =" this.style.height = 500 "onmouseout =" this.style.height = 100 "العلامة & lt؛ BR =" "& GT؛ & لتر؛ / شعبة وGT؛ نمط =" العرض: 800px؛ الطول: 100px؛ الحدود: 1PX صلب رمادي، تجاوز: التمرير '& GT؛ $ الأسبوع ".}}}
& GT؛؟
العلامة & lt؛ / الفولكلوري
تودو
حسب طول الاستعلام كنوع الثانوي، مع الاستعلامات أطول
أولا
هذا كل شيء.أنا أحب أن أسمع تجاربكم مع هذا الرمز أو اقتراحات للتحسين.نصائح الخدع اندتحذيرات
- ملاحظة: أؤيد ع = فضلا وف القياسية = لياهو كونه بطة الغريب أنه يستخدم ص =
- الإصدار 2 فب أكثر تعقيدا وكنت الترميز بسرعة بعض المتغيراتوقد تم اختيار أسماء سيئة.من فضلك لا تشكو كما رمزها مجانا.ولكن إذا كنت ترغب في اصلاح الامر وتوثيق وإضافته إلى ويكي كإصدار 3 التي ستكون رائعة:) دفعها إلى الأمام!
- إذا كان لديك مشاكل مع أي من هذه الخطوات، طرح سؤال لمزيد من المساعدة، أو إضافة في قسم التعليقات أدناه.
التعليقات
| دانيال مميزة الكاتب 69 مقالات كتبت 2601 المادة التحرير 24290 نقاط |
دانيال هو كاتب متميز مع VisiHow.حققت دانيال مستوى "الملازم" مع 24290 نقطة.بدأ دانيال 69 مادة وجعل 2،601 التعديلات المادة.قرأت 17578 شخصا المساهمات المادة دانيال. |
دانيال : | مرحبا، اسمي دانيال. |
دانيال : | هل يمكنني مساعدتك في مشكلتك حول "تحليل بسهولة / بحث سلاسل الاستعلام البحث لصفحة ويب من سجلات اباتشي باستخدام PHP AWK والحوار الاقتصادي الاستراتيجي المرافق سطر الأوامر لينكس"؟ |