Разработка приложения веб-скрапинга с возможностями обхода блокировок
Аннотация
В данной статье рассмотрен веб-скрапинг – процесс извлечения данных со страниц веб-сайтов в интернете с помощью автоматизации обращений к веб-сайту. С развитием интернета важность веб-скрапинга возросла, и более половины интернет-трафика на веб-сайты (за исключением потокового, т.е. аудио и видео) создается автоматизированными средствами, так называемыми ботами.
Статья посвящена исследованию процесса веб-скраппинга и изучению проблемы блокировки веб-скраперов в сети Интернет. Рассматриваются основные принципы и понятия процесса веб-скрапинга. Проводится обзор существующих решений для веб-скрапинга, выделяются основные достоинства и недостатки веб-скраппинга с возможностью обхода блокировок. Рассматриваются причины блокировки веб-скраперов веб-сайтами, выделены признаки, по которым веб-сайты определяют и блокируют веб-скраперы. Исследуются приемы для обхода блокировок веб-скраперов и их влияние на процесс веб-скрапинга.
Предлагается программа, разработанная на языке программирования Python, которая использует приемы для обхода блокировок веб-скраперов. Программа имеет графический интерфейс, разработанный с помощью фреймворка Tkinter для создания политики веб-скраппинга. Для обхода блокировок веб-скраперов используется фреймворк с открытым исходным кодом для автоматизации действий пользователя в браузере Selenium WebDriver. Сравнительный анализ работы веб-скраперов показал, что использование созданных в работе модулей позволяет обойти блокировки веб-скрапинга.
Литература
[2] Gundecha U. Selenium Testing Tools Cookbook. Birmingham B3 2PB, UK.: Packt Publishing, 2015. (In Eng.)
[3] Mitchell R. Web Scraping with Python. USA.: O’Reilly Media, 2015. (In Eng.)
[4] Hajba G. Website Scraping with Python: Using BeautifulSoup. USA.: O’Reilly Media, 2018. (In Eng.)
[5] Nair G. Getting Started with Beautiful Soup. USA.: Packt Publishing, 2014. (In Eng.)
[6] Shrenk M. Webbots, spiders, and screen scrapers. USA.: Packt Publishing, 2012. (In Eng.)
[7] Buelta J. Python Automation Cookbook. USA.: Packt Publishing, 2018. (In Eng.)
[8] Koundal D. Ontology Based Crawler: Semantic web application USA.: Lambert, 2013. (In Eng.)
[9] Ferrara E., De Meo P., Fiumara G., Baumgartner R. Web Data Extraction, Applications and Techniques: A Survey. Knowledge-Based Systems. 2014; 70:301-323. (In Eng.) DOI: 10.1016/j.knosys.2014.07.007
[10] Liang H., Zhu J.J.H Big Data, Collection of (Social Media, Harvesting). The International Encyclopedia of Communication Research Methods. 2017; 1-18. (In Eng.) DOI: 10.1002/9781118901731.iecrm0015
[11] Hirschey J.K. Symbiotic Relationships: Pragmatic Acceptance of Data Scraping. Berkeley Technology Law Journal. 2014; 29:897-927. Available at: https://www.jstor.org/stable/24119959 (accessed 06.04.2019). (In Eng.)
[12] Liu H., Morstatter F., Tang J., Zafarani R. The good, the bad, and the ugly: uncovering novel research opportunities in social media mining. International Journal of Data Science and Analytics. 2016; 1(3-4):137-143. (In Eng.) DOI: 10.1007/s41060-016-0023-0
[13] Thomsen J.G., Ernst E., Brabrand C., Schwartzbach M. WebSelF: A Web Scraping Framework. In: Brambilla M., Tokuda T., Tolksdorf R. (eds). Proceedings of the 12th international conference on Web Engineering (ICWE'12). Springer-Verlag, Berlin, Heidelberg. 2012; 347-361. (In Eng.) DOI: 10.1007/978-3-642-31753-8_28
[14] Salerno J.J., Boulware D.M. Method and apparatus for improved web scraping. United States of America, 2003. Patentnr. US 7072890 B2 Available at: https://patents.google.com/patent/US7072890B2/en (accessed 06.04.2019). (In Eng.)
[15] Thomas D.M., Mathur S. Data Analysis by Web Scraping using Python. 2019 3rd International conference on Electronics, Communication and Aerospace Technology (ICECA). Coimbatore, India. 2019; 450-454. (In Eng.) DOI: 10.1109/ICECA.2019.8822022
[16] Trifa A., Sbaï A.H., Chaari W.L. Evaluate a Personalized Multi Agent System through Social Networks: Web Scraping. 2017 IEEE 26th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE). Poznan. 2017; 18-20. (In Eng.) DOI: 10.1109/WETICE.2017.14
[17] Marques P. et al. Detecting Malicious Web Scraping Activity: A Study with Diverse Detector. 2018 IEEE 23rd Pacific Rim International Symposium on Dependable Computing (PRDC). Taipei, Taiwan. 2018; 269-278. (In Eng.) DOI: 10.1109/PRDC.2018.00049
[18] Raulamo-Jurvanen P., Kakkonen K., Mäntylä M. Using Surveys and Web-Scraping to Select Tools for Software Testing Consultancy. In: Abrahamsson P., Jedlitschka A., Nguyen Duc A., Felderer M., Amasaki S., Mikkonen T. (eds). Product-Focused Software Process Improvement. PROFES 2016. Lecture Notes in Computer Science. Springer, Cham. 2016; 10027:285-300. (In Eng.) DOI: 10.1007/978-3-319-49094-6_18
[19] Budiarti R. P. N., Widyatmoko N., Hariadi M., Purnomo M.H. Web scraping for automated water quality monitoring system: A case study of PDAM Surabaya. 2016 International Seminar on Intelligent Technology and Its Applications (ISITIA). Lombok. 2016; 641-648. (In Eng.) DOI: 10.1109/ISITIA.2016.7828735
[20] Boeing G., Waddell P. New Insights into Rental Housing Markets across the United States: Web Scraping and Analyzing Craigslist Rental Listings. Journal of Planning Education and Research. 2016; 37(4):457-476. (In Eng.) DOI: 10.1177/0739456X16664789
[21] Adamuz P.L. Development of a generic test-bed for web scraping. Barcelona: European Education and Training Accreditation Center, 2015.
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.