Prevent Xpath and CSS Based Scrapers by Using Markup Randomization
Total Page:16
File Type:pdf, Size:1020Kb
The Islamic University of Gaza الجـامعـــــــــ ـة اﻹســـــﻻميـ ـة بغـ ـزة عم ا ة البح ل العلم والد اس ات العلي ا Deanship of Research and Graduate Studies كـليــــ ـة تكنولوجي ا المعلوم ات Faculty of Information Technology ماجس تير تكنولوجي ا المعلوم ات Master of Information Technology Prevent XPath and CSS Based Scrapers by Using Markup Randomization منع جمع المعلومات بالطريقة المعتمدة على XPath و CSS باستخدام عشوائية الترميز By Ahmed Mustafa Ibrahim Diab Supervised by Dr. Tawfiq S. Barhoom Associate Prof. of Applied Computer Technology A thesis submitted in partial fulfilment of the requirements for the degree of Master of Information Technology September/2018 إقـــــــــــــرار أنا الموقع أدناه مقدم الرسالة التي تحمل العنوان: Prevent XPath and CSS Based Scrapers by Using Markup Randomization منع جمع المعلومات بالطريقة المعتمدة على XPath وCSS باستخدام عشوائية الترميز أقر بأن ما اشتملت عليه هذه الرسالة إنما هو نتاج جهدي الخاص، باستثناء ما تمت اﻹشارة إليه حيثما ورد، وأن هذه الرسالة ككل أو أي جزء منها لم يقدم من قبل اﻻخرين لنيل درجة أو لقب علمي أو بحثي لدى أي مؤسسة تعليمية أو بحثية أخرى. Declaration I understand the nature of plagiarism, and I am aware of the University’s policy on this. The work provided in this thesis, unless otherwise referenced, is the researcher's own work, and has not been submitted by others elsewhere for any other degree or qualification. احمد مصطفى إبراهيم دياب :Student's name اسم الطالب: Signature: التوقيع: Date: التاريخ: 28/08/2018 I I Abstract Web Scraping is a useful technique can be used in an ethical way such as climate and many researching fields, on the other hand, unethical way such as exploit content privacy, which is Data Theft. Several researchers have introduced some approaches for addressing this issue, these solutions could have solved the problem in partial ways or in some cases, therefore, the problem still needs another effort. Consequently, in this work, a new solution is introduced for preventing web scraping based on XPath and CSS in an efficient way and applicable to modern web techniques. The proposed solution will be based on Markup Randomization which will rename all CSS classes for a web page then sync those changes back with the HTML page. The main advantage of the proposed solution that can be applied on any web page. Experiments were done over collected dataset which consists of 30 websites divided into three categories: News, Currency Rates and Weather. The aim of the experiments is to measure the Similarity, File Size and the processing time. Visual Similarity was tested and proved that no visual changed occurred during and after applying the solution and most of comparing results were 100% and few results were above 97% due to some unsupported HTML tags was exists on the page such as tags with different namespace like Facebook plugins. File size also changed during the process so some experiments showed that file size reduced due to unnecessary HTML elements removed and other increased due to the length of CSS classes’ length. The processing time of applying the solution is related to file size so that the file with more than 4500 lines should take an average of 5 minutes while the file contains (0-4500) lines the processing time should be less than 2 minutes. Keywords: Anti-Scraper, Anti-Data theft, Web Scrapers. II ملخص الد اسة كشط الويب – عملية جمع المعلومات بطريقة آلية من مواقع اﻻنترنت – يمكن ان تستخدم بطريقة أخﻻقية مثل التنبؤ بحالة الطقس او حتى في البحث العلمي، ومن ناحية أخرى يمكن استخدامها بطريقة ﻻ أخﻻقية تعزز مبدئ انتهاك ملكية المحتوى وهذا يعتبر سرقة البيانات. بعض الباحثين اقترحوا طرق عديدة لحل هذه المشكلة ولكن هذه الحلول ﻻ يمكن ان تنهي هذه المشكلة بشكل كامل ﻷنها تطرقت للمشكلة بشكل جزئي أو في بعض أوقات تشغيل وليس كل أوقات تشغيل برنامج الكشط أو حتى حلول ﻻ يمكن تطبيقها من أحدث معايير الويب الحديث. على العكس تماماً، طريقة جديدة لحل المشكلة تم طرحها في هذه اﻻطروحة لمنع مشكلة كشط الويب بشكل كافي وفعّال مع أحدث معايير الويب. هذه الطريقة ستبنى على مبدئ الترميز العشوائي للكود البرمجي والتي ستعمل على أعادة تسمية جميع قواعد الشكل "CSS Rules" وفي نفس الوقت تغييرها في الكود البرمجي الخاص بالصفحة "HTML Markup" ويمكن تطبيقها على كل صفحة من صفحات الموقع بسهولة وبدون قيود. تم فحص هذا المقترح على عينة البيانات التي تم تجهزيها لتتﻻءم من المقترح بحيث تتكون من 30 موقع الكتروني مختلف في الشكل مو ّزعين على ثﻻثة تصنيفات مواقع إخبارية، مواقع العمﻻت ومواقع حاﻻت الطقس، وكان الهدف من التجارب هو فحص مدى تشابه الصفحة قبل وبعد تطبيق الطريقة المقترحة، وحجم التغيير على ملفات الكود البرمجي وأخيراً الوقت اﻹجمالي لتنفيذ الطريقة. التشابه المرئي تم تفحصه باستخدام أدوات ذكية تفحص مدى تشابه الصفحات، وأثبتت النتائج انه ﻻ يوجد تغيير مرئي في اغلب الحاﻻت بحيث نسبة التشابه كانت 100% وفي بعض الحاﻻت كانت نسبة التشابه وصلت الى 97% نتيجة ﻻحتواء الكود البرمجي اﻷصلي على بعض الرمز الغير مدعومة ﻷدوات الفحص وتعطي في كل مرة كود برمجة متخلف مثل إضافات فيسبوك. التغير في حجم الملفات تم فحصة ومقارنته بما كان عليه وكانت النتائج تثبت ان حجم الملفات تقل بسبب عملية تحسين الكود البرمجي التي تتم اثناء تطبيق الطريقة المقترحة وفي بعض الحاﻻت كانت هناك زيادة في حجم الملفات طبيعية بسبب ان الكود البرمجي اﻷصلي محسن وﻻ يوجد بده أي سطور برمجية غير ضرورية او اغير مرئية يمكن ازالتها. الوقت اﻹجمالي لتطبيق الطريقة المقترحة يعتمد على حجم ملفات الكود البرمجي اﻷصلي، ففي حاﻻت ان الكود البرمجي يحتوي على 4500 سطر فأكثر فان الوقت اﻹجمالي لتطبيق الطريقة يكون في حدود 5 دقائق، بينا ان الوقت الﻻزم لتطبيق الطريقة المقترحة في حالة اقل من 4500 سطر يكون اقل من دقيقتين. كلمات مفتاحية: كشط الويب، منع سرقة البيانات، منع كشط الويب III Dedication This research is dedicated to my father Mustafa, my mother Suad, Sister, brothers, my wife and my sons Ezzuddeen and Yassin, friends and all one who encourage me to complete my study. IV Acknowledgment I would first like to thank my thesis advisor Associate Professor Tawfiq Soliman Barhoom of the Information Technology at Islamic University of Gaza. The door to Prof. Tawfiq office was always open whenever I ran into a trouble spot or had a question about my research or writing. He consistently allowed this thesis to be my own work, but steered me in the right the direction whenever he thought I needed it. At long last, I should offer my extremely significant thanks to my Father and Mother and to my better half to provide me with unfailing help and constant consolation during my time of study and through the way toward exploring and composing this theory. This achievement would not have been conceivable without them. Much obliged to you. Author Ahmed Mustafa Ibrahim Diab V Table of Contents Declaration .................................................................................................................... I Abstract ........................................................................................................................ II III ................................................................................................................. ملخص الدراسة Dedication .................................................................................................................. IV Acknowledgment ......................................................................................................... V Table of Contents ....................................................................................................... VI List of Tables ........................................................................................................... VIII List of Figures ............................................................................................................ IX List of Formulas ......................................................................................................... XI List of Abbreviations ................................................................................................ XII Chapter 1 Introduction .................................................................................................. 1 1.1 Statement of the Problem ........................................................................................ 2 1.2 Objectives ............................................................................................................... 3 1.2.2 Main Objectives ...................................................................................................3 1.2.3 Specific Objectives ..............................................................................................3 1.3 Importance of the Research .................................................................................... 3 1.3.1 Motivation ............................................................................................................3 1.4 Scope and Limitation of the Research .................................................................... 4 1.5 Overview of Thesis ................................................................................................. 4 Chapter 2 Theoretical Background ............................................................................... 6 2.1 Introduction ............................................................................................................. 6 2.2 Web Scraping Techniques ...................................................................................... 6 2.2.1 Web Usage Mining ..............................................................................................6 2.2.2 Web Scraping: .....................................................................................................9 2.2.3 Semantic Annotations ..........................................................................................9