Skip to content

Instantly share code, notes, and snippets.

View ljaviertovar's full-sized avatar
👽
Programming the universe::.

L Javier Tovar ljaviertovar

👽
Programming the universe::.
View GitHub Profile
@ljaviertovar
ljaviertovar / getFirstTitle.js
Last active July 6, 2021 04:13
Get the title of the first result of a book search on Amazon using web scraping.
/*
1. go to https://www.amazon.com/
2. search "programing books"
3. open the browser javascript console
*/
// Get the list of elements of the parent element. It returns a NodeList and we convert it into an array to be able to traverse it.
const elementList = Array.from(document.querySelectorAll('[data-component-type="s-search-result"]'));
// Initialize an array to store the names of the books
@ljaviertovar
ljaviertovar / you-spoty-part1.js
Last active July 25, 2021 14:43
Scraper to get songs of spotify and create playlist on youtube
// import libraries
const puppeteer = require("puppeteer");
const urlencode = require("urlencode");
// define vriables
let search = 'The Doors';
const SP_BASE_URL = "https://open.spotify.com";
const SP_SEARCH_URL = SP_BASE_URL + "/search/" + urlencode(search);
const YT_BASE_URL = "https://www.youtube.com";
@ljaviertovar
ljaviertovar / you-spoty-part2.js
Last active July 25, 2021 14:51
Scraper to get songs of spotify and create playlist on youtube
// go to the playlists section
const [linkPlaylist] = await page.$x("//a[contains(text(), 'Playlist')]");
await linkPlaylist.click();
await page.waitForNavigation();
// get all playlists found
const listPlaylists = await page.evaluate(() => {
let list = [];
let playlists = Array.from(
@ljaviertovar
ljaviertovar / you-spoty-part3.js
Last active July 25, 2021 17:07
Scraper to get songs of spotify and create playlist on youtube
const listTracks = await page.evaluate(() => {
let list = [];
let tracks = Array.from(
document.querySelectorAll('div[data-testid="tracklist-row"]')
);
tracks.map((track) => {
let divTrack = track.querySelectorAll("div")[2];
let trackData = divTrack.querySelector(
"div > div .da0bc4060bb1bdb4abb8e402916af32e-scss"
@ljaviertovar
ljaviertovar / you-spoty-part4.js
Created July 25, 2021 14:42
Scraper to get songs of spotify and create playlist on youtube
// go to youtube
await page.goto(YT_BASE_URL, { waitUntil: "networkidle2" });
// search and add track to playlist
for (const listTrack of listTracks) {
// text to search
let track = `${listTrack.artist} live ${listTrack.song}`;
// wait for the input and clean it
@ljaviertovar
ljaviertovar / follower-medium-profiles.js
Last active September 1, 2021 14:47
Script to follow profiles in Medium
/*
* First step, find the people you want to follow
* Second step, run the following script in the page inspector console
*/
// get all profiles displayed
const allprofiles = Array.from(document.querySelectorAll('.js-followButton'));
// return all profiles no following yet
const newprofiles = allprofiles.filter((profile) => {
return !profile.classList.contains('is-active')
@ljaviertovar
ljaviertovar / instagram_follower.js
Last active June 7, 2023 02:14
Like post and follow profiles
/**
* Steps
* 1. Search a hastag
* 2. Click on a post
* 3. Open browser console
* 4. Copy and paste sleep function, press enter
* 5. Copy and paste main function, press enter
*/
(async function funfollower() {
@ljaviertovar
ljaviertovar / Filters.jsx
Last active July 15, 2022 23:56
Slider of images whit filters CSS
import React, { useEffect } from 'react'
import styled from 'styled-components'
import Slider from 'react-slick'
import thumbnail from '../assets/img/img1.jpg'
import '../styles/instagram.min.css'
import 'slick-carousel/slick/slick.css'
import 'slick-carousel/slick/slick-theme.css'
@ljaviertovar
ljaviertovar / CustomFilterOptions.jsx
Last active July 15, 2022 23:57
Component to create a custom filter whit CSS
import React, { useState } from 'react'
import Slider, { SliderTooltip } from 'rc-slider'
import styled from 'styled-components'
import 'rc-slider/assets/index.css'
const CustomFilterOptionsStyles = styled.div`
.customFilters-container {
width: 400px;
margin-right: 100px;
@ljaviertovar
ljaviertovar / cache-redis-nodejs.js
Last active January 15, 2023 20:10
Cache responses from REST requests with Redis
const express = require('express')
const responseTime = require('response-time')
const redis = require('redis')
const axios = require('axios')
const runApp = async () => {
// connect to redis
const client = redis.createClient()
client.on('error', (err) => console.log('Redis Client Error', err));