An University Project of Quera Web Crawling.

Overview

WebCrawlerProject

An University Project of Quera Web Crawling.

خزشگر اینستاگرام

در این پروژه شما باید با استفاده از کتابخانه های زیر یک خزشگر اینستاگرام بنویسید

  • BeautifulSoup
  • requests
  • Selenium
  • Tkinter
  • pandas
  • threading

استفاده از بسته های دیگر در این پروژه مجاز نمی باشد

برنامه شما باید حاوی بخش های زیر باشد

* یک هشتگ دلخواه را در اینستاگرام جست و جو کند و n اکانتی را که در نتایج جست و جوی اینستاگرام حاوی این هشتگها بوده اند لیست کند. n باید پارامتریک باشد و ابتدای برنامه قابل تنظیم باشد
* در مرحله بعد m پست آخر هر یک از این اکانت ها را در نظر بگیرید و متن کامنت های ذیل هر کدام از این پست ها را به همراه تعداد لایک های آن استخراج کنید. m باید به صورت پارامتری قابل تنظیم باشد
* اطلاعات ذخیره شده را در یک دیتافریم و نهایتا روی هارد ذخیره کنید. دیتافریم شما باید حاوی کامنت، نام کاربری نویسنده کامنت ، نام کاربری اکانت پست اصلی و تعداد لایک های کامنت باشد
* یک واسط کاربری گرافیکی (که ترجیحا با tkinter ایجاد شده باشد) که دارای ابزارهای لازم برای تعامل با کاربر و نمایش خروجی های مورد نظر باشد. از جمله:
- در این پنجره کاربر باید بتواند لیست اکانت هایی را که برنامه شما سراغ پست های آنها خواهد رفت را ببیند و آنها را کم یا زیاد کند
- مقدار m و n را تنظیم کند
- همچنین باید در این پنجره به کاربر نشان داده شود که تا کنون چه تعداد از اکانتها خزش شده اند و چه تعداد باقی مانده است
- زمان سپری شده و زمان تخمینی تا انتهای کار نیز باید نمایش داده شود.پس از پایان کار نیز گزارشی از زمان سپری شده برای کل کار را نشان دهد
- محل ذخیره فایل خروجی روی هارد توسط کاربر تعیین شود
- اضافه کردن موارد دیگر در این واسط گرافیکی نمره امتیازی خواهد داشت
* برنامه شما باید به صورت مالتی ترد نوشته شود. می توانید انتخاب کنید که برای خزش هر اکانت از یک ترد استفاده کنید یا برای خزش هر کامنت یک ترد جدید ایجاد کنید. در صورتی که اجرای برنامه شما از سایر هم کلاسی هایتان سریع تر باشد، نمره امتیازی خواهد داشت
* در این برنامه استایل برنامه نویسی شئ گرا مد نظر نیست؛ اما در صورت پیاده سازی این برنامه به صورتی شئ گرا، نمره امتیازی خواهد داشت
* توابع و کلاسهایی که تعریف میکنید باید دارای داک استرینگ باشند. تمیز بودن کدها طبق اصول معرفی شده در کلاس درس الزامی است

بخش امتیازی ویژه

یک مساله خاص را در نظر بگیرید و هشتگ های مرتبط با آن را از طریق برنامه خودتان جست و جو یا کنید. مثلا فرض کنید می خواهید ببینید کامنتهای افراد در مورد شرکت سامسونگ چه قدر مثبت منفی است. تمام هشتگ های مربوط به شرکت سامسونگ از جمله انواع برندهای مربوطه و ... را از طریق برنامه خودتان جست و جو کنید کامنتهای مربوطه را استخراج کنید.

سپس تعداد 1000تا از کامنتها را به صورت تصادفی درنظر بگیرید و آنها را برچسب گذاری کنید. به این صورت که اگر کامنت دارای نظر مثبت نسبت به شرکت سامسونگ بود، برچست مثبت، در صورتی که دارای نظر منفی بود، برچسب منفی و در غیر این صورت دارای برچسب خنثی باشد. )به صورت معمول برچسب گذاری 1000 تا کامنت کمتر از 2 ساعت از شما زمان می گیرد. می توانید این بخش از کار را به کمک سایر همکلاسی هایتان انجام دهید. هر چه تعداد کامنتها در این بخش بیشتر باشد، دقت خروجی شما بیشتر می شود.

با استفاده از ماژول fasttext در پایتون می توانید یک مدل بسازید که از روی این 1000 کامنت برچسب خورده تا حدی الگوی نظرات مثبت و منفی را یاد بگیرد. سپس این مدل می تواند با درکی که نسبت به منفی یا مثبت بودن یک نظر پیدا کرده، نظر خودش را درباره مثبت و منفی بودن هر کامنت جدیدی اعلام کند! بنابراین می توانید با این مدل تمام نظرات را تست کنید و بررسی کنید چه میزان از نظرات مثبت یا منفی بوده اند.برنامه شما میتواند گزارش کند که چه تعداد از نظرات کاربران درباره این موضوع مثبت یا منفی بوده است. (یا به صورت درصد نمایش دهد)

Owner
Mahdi
Hi, I'm Mahdi. I love everything related to computers.
Mahdi
Project Aquarium is a SUSE-sponsored open source project aiming at becoming an easy to use, rock solid storage appliance based on Ceph.

Project Aquarium Project Aquarium is a SUSE-sponsored open source project aiming at becoming an easy to use, rock solid storage appliance based on Cep

Aquarist Labs 73 Jul 21, 2022
Official repository with code and data accompanying the NAACL 2021 paper "Hurdles to Progress in Long-form Question Answering" (https://arxiv.org/abs/2103.06332).

Hurdles to Progress in Long-form Question Answering This repository contains the official scripts and datasets accompanying our NAACL 2021 paper, "Hur

Kalpesh Krishna 41 Nov 08, 2022
MAVE: : A Product Dataset for Multi-source Attribute Value Extraction

The dataset contains 3 million attribute-value annotations across 1257 unique categories on 2.2 million cleaned Amazon product profiles. It is a large, multi-sourced, diverse dataset for product attr

Google Research Datasets 89 Jan 08, 2023
Dungeons and Dragons randomized content generator

Component based Dungeons and Dragons generator Supports Entity/Monster Generation NPC Generation Weapon Generation Encounter Generation Environment Ge

Zac 3 Dec 04, 2021
Notebook and code to synthesize complex and highly dimensional datasets using Gretel APIs.

Gretel Trainer This code is designed to help users successfully train synthetic models on complex datasets with high row and column counts. The code w

Gretel.ai 24 Nov 03, 2022
Deep Learning for Time Series Forecasting.

nixtlats:Deep Learning for Time Series Forecasting [nikstla] (noun, nahuatl) Period of time. State-of-the-art time series forecasting for pytorch. Nix

Nixtla 5 Dec 06, 2022
Ansible Automation Example: JSNAPY PRE/POST Upgrade Validation

Ansible Automation Example: JSNAPY PRE/POST Upgrade Validation Overview This example will show how to validate the status of our firewall before and a

Calvin Remsburg 1 Jan 07, 2022
A heterogeneous entity-augmented academic language model based on Open Academic Graph (OAG)

Library | Paper | Slack We released two versions of OAG-BERT in CogDL package. OAG-BERT is a heterogeneous entity-augmented academic language model wh

THUDM 58 Dec 17, 2022
ivadomed is an integrated framework for medical image analysis with deep learning.

Repository on the collaborative IVADO medical imaging project between the Mila and NeuroPoly labs.

144 Dec 19, 2022
RCT-ART is an NLP pipeline built with spaCy for converting clinical trial result sentences into tables through jointly extracting intervention, outcome and outcome measure entities and their relations.

Randomised controlled trial abstract result tabulator RCT-ART is an NLP pipeline built with spaCy for converting clinical trial result sentences into

2 Sep 16, 2022
[ICCV 2021] A Simple Baseline for Semi-supervised Semantic Segmentation with Strong Data Augmentation

[ICCV 2021] A Simple Baseline for Semi-supervised Semantic Segmentation with Strong Data Augmentation

CodingMan 45 Dec 12, 2022
My coursework for Machine Learning (2021 Spring) at National Taiwan University (NTU)

Machine Learning 2021 Machine Learning (NTU EE 5184, Spring 2021) Instructor: Hung-yi Lee Course Website : (https://speech.ee.ntu.edu.tw/~hylee/ml/202

100 Dec 26, 2022
Clustergram - Visualization and diagnostics for cluster analysis in Python

Clustergram Visualization and diagnostics for cluster analysis Clustergram is a diagram proposed by Matthias Schonlau in his paper The clustergram: A

Martin Fleischmann 96 Dec 26, 2022
Adversarial vulnerability of powerful near out-of-distribution detection

Adversarial vulnerability of powerful near out-of-distribution detection by Stanislav Fort In this repository we're collecting replications for the ke

Stanislav Fort 9 Aug 30, 2022
This repository contains the map content ontology used in narrative cartography

Narrative-cartography-ontology This repository contains the map content ontology used in narrative cartography, which is associated with a submission

Weiming Huang 0 Oct 31, 2021
ShinRL: A Library for Evaluating RL Algorithms from Theoretical and Practical Perspectives

Status: Under development (expect bug fixes and huge updates) ShinRL: A Library for Evaluating RL Algorithms from Theoretical and Practical Perspectiv

37 Dec 28, 2022
Fast algorithms to compute an approximation of the minimal volume oriented bounding box of a point cloud in 3D.

ApproxMVBB Status Build UnitTests Homepage Fast algorithms to compute an approximation of the minimal volume oriented bounding box of a point cloud in

Gabriel Nützi 390 Dec 31, 2022
Very large and sparse networks appear often in the wild and present unique algorithmic opportunities and challenges for the practitioner

Sparse network learning with snlpy Very large and sparse networks appear often in the wild and present unique algorithmic opportunities and challenges

Andrew Stolman 1 Apr 30, 2021
[ICCV 2021] Official PyTorch implementation for Deep Relational Metric Learning.

Ranking Models in Unlabeled New Environments Prerequisites This code uses the following libraries Python 3.7 NumPy PyTorch 1.7.0 + torchivision 0.8.1

Borui Zhang 39 Dec 10, 2022
This is the repository for the NeurIPS-21 paper [Contrastive Graph Poisson Networks: Semi-Supervised Learning with Extremely Limited Labels].

CGPN This is the repository for the NeurIPS-21 paper [Contrastive Graph Poisson Networks: Semi-Supervised Learning with Extremely Limited Labels]. Req

10 Sep 12, 2022