oss2019 / naarad Goto Github PK
View Code? Open in Web Editor NEWAn easier way to reach more with less on Facebook
License: MIT License
An easier way to reach more with less on Facebook
License: MIT License
We should have a method in the Facebook class which takes in the link to a group and open it in the selenium driver.
@iharshit009 Please work on this.
We will be using methods such as scraping, web automation driving and form submission.
Selenium and beautifulsoup4 are two of the most known technologies but it is good for a student to do a research of the technologies and then give a report.
Node app can be initiated after installing npm via the command npm init
.
Creating a Python package is a simple process which involves the writing of a setup.py
file for the project mentioning all the details about the same.
Resources:
We currently only accept input through CLI. This can get cumbersome since the groups may remain the same for all the time.
We should allow the user to allow to set config in a file. The settings can be as below:
[LOGIN]
username
password
[POST]
groups
description
image
The student is free to use any of the below implementations and make it work.
The task is huge since we also need it such that if the config is set for an option, we should not ask the user to enter it.
The above can be implemented using:
Create a function to ask the user to add details which need to be posted in the group(s).
We will be accepting the following information to begin with:
These should be stored in a single session of the script inside Facebook class.
This is totally a learning opportunity for the students to learn Docker.
We can dockerize the entire project using Docker and make it available on Docker Hub.
We can also expose accepting three arguments from the user to the Docker container and then pass it on to the script.
Resources:
Once we have a basic running version, we'd like to set up a continuous integration so that we can always keep checking for code sanity.
References:
The group link may contain whitespace due to user not being able to decide whether to put space after / before comma or not.
We should make sure the links do not contain whitespace.
Line 36 in 72acc72
A command line interface is the best way to manage apps which have multiple functionalities and require arguments.
Click is one of the best ways to implement a CLI. We can have two options: post
and reset
.
post
: Used to post links on the group.
reset
: Remove the saved credentials and start afresh.
The reset
option will not take any argument. The post
option will take at least one and at max three arguments:
--username
: Phone number / email to use for login.--password
: Password for the facebook account.--list
: Path to text / csv file containing the link (or name) of all groupsResources:
PEP8Speaks is a smell checker for python and we can implement it to maintain a smell-free code.
A function that takes as arguments the username and password of the user and logins him into facebook using the WebDriver we will be using (most probably Selenium).
Resources:
With the user given content for the post, make the post in a group.
A function can be created which takes content(s) and a single link as an argument and makes the post in the group.
This task requires a lot of analysis of the DOM structure of a group and the similarity between different group pages.
We currently allow the user to share a post by giving details but most of the time a person wants to share a particular post which has already been done by some page.
The process should be:
Make a function that accepts the three inputs from the user:
The password should be stored after encrypting it on the user's system the first time he uses the application and after that, we should use the file unless it's not available or has been deleted.
Pipenv is a service used to manage python packages and virtual environment system.
We will be using it along with other python utilities for development.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.