Pyrics is a tool to scrape lyrics, get rhymes, generate relevant lyrics with rhymes.

Related tags

Web CrawlingPyrics
Overview

Pyrics

Pyrics is a tool to scrape lyrics, get rhymes, generate relevant lyrics with rhymes.

./test/run.py provides the full function in terminal

cmd>> python run.py

or

cmd>> conda activate
conda>> python run.py

Author: DK Xie

Installation

pip install Pyrics

Initialization

Way 1: Not Exist Data

from Pyrics import Pyrics as prc

prc = prc.Pyrics()

Way 2: Already Exist Data

from Pyrics import Pyrics as prc

prc = prc.Pyrics(path)

if exist data folder 'lyrics', folder strucure:

-lyrics
   -rhymes

lyric data (.csv) in lyrics folder, e.g.,

bands songs lyrics
0 Little Richard Tutti Frutti Wop-bop-a-loo-mop alop-bom-bom
1 Little Richard Tutti Frutti Tutti frutti, oh rutti
2 Little Richard Tutti Frutti Tutti frutti, woo!
3 Little Richard Tutti Frutti Tutti frutti, oh rutti
4 Little Richard Tutti Frutti Tutti frutti, oh rutti
5 Little Richard Tutti Frutti Tutti frutti, oh rutti

rhyme data (.csv) in rhymes folder, e.g.,

bands songs lyrics rhymes
0 Little Richard Tutti Frutti Wop-bop-a-loo-mop alop-bom-bom om
1 Little Richard Tutti Frutti Tutti frutti, oh rutti i
2 Little Richard Tutti Frutti Tutti frutti, woo! u
3 Little Richard Tutti Frutti Tutti frutti, oh rutti i
4 Little Richard Tutti Frutti Tutti frutti, oh rutti i
5 Little Richard Tutti Frutti Tutti frutti, oh rutti i

Generate Datasets

artists = 'Led Zeppelin'

1.Download Lyrics

#default iters_num = 1e20
download_lyrics(artists=artists, iters_num = 5, delay_time=10, fluctuate_rate=5):
bands songs lyrics
0 Led Zeppelin Good Times Bad Times In the days of my youth, I was told what it means to be a man
1 Led Zeppelin Good Times Bad Times And now I've reached that age, I've tried to do all those things the best I can
2 Led Zeppelin Good Times Bad Times No matter how I try, I find my way into the same old jam
3 Led Zeppelin Good Times Bad Times Good times, bad times, you know I've had my share
4 Led Zeppelin Good Times Bad Times When my woman left home with a brown eyed man
5 Led Zeppelin Good Times Bad Times But I still don't seem to care

2.Generate Lyrics Data with Rhymes

generate_rhymes(artist_search=artists)
bands songs lyrics rhymes
0 Led Zeppelin Good Times Bad Times In the days of my youth, I was told what it means to be a man ?n
1 Led Zeppelin Good Times Bad Times And now I've reached that age, I've tried to do all those things the best I can ?n
2 Led Zeppelin Good Times Bad Times No matter how I try, I find my way into the same old jam ?m
3 Led Zeppelin Good Times Bad Times Good times, bad times, you know I've had my share ?r
4 Led Zeppelin Good Times Bad Times When my woman left home with a brown eyed man ?n
5 Led Zeppelin Good Times Bad Times But I still don't seem to care ?r

Basic Function

lyrics = 'Don\'t you cry tonight'
artists = ['Guns N\' Roses', 'the doors','led zeppelin']

1.Get Rhymes of Lyrics

get_rhymes(lyrics)

=>'a?t'

2.Get the Lyrics with the Same Rhymes

get_rhymes_lyrics(lyrics=lyrics, artists=artists, length=5, exclude=True, same=False, print_lyrics=False):
bands songs lyrics rhymes
0 Led Zeppelin Heartbreaker Abuse my love a thousand times a?mz
1 The Doors Peace Frog (She came) The women are crying a???
2 Guns N' Roses Oh My God Well, this is better than a good compromise a?z
3 Guns N' Roses Don't Cry Talk to me softly, there's something in your eyes a?z
4 The Doors Someday Soon But you're going to die a?
5 The Doors Break On Through (To The Other Side) She get high a?

3.Get Relevant Lyrics contain Input Lyrics

lyrics = 'I love you'
get_relevant_lyrics(lyrics=lyrics, artists=artists, length=5):
bands songs lyrics rhymes
18 The Doors Ships w/Sails Well, you asked how much I love you u
32 Led Zeppelin Darlene And I love you, Yes I do u
31 Led Zeppelin Darlene Cause I love you, Darlene in
12 The Doors Hello, I Love You Hello, I love you u
3 Guns N' Roses Prostitute Where would you go if I told you I love you and then walked away? Oh, yeah ?

Core Function: Generate Songs Lyrics

Combine the lyrics randomly to generate songs with rhymes

keyword = 'baby'
artists = ['Guns N\' Roses', 'the doors','led zeppelin']

1.Generate Songs Lyrics contain Keywords with Rhymes

generate_lyrics(inputs=keyword, artists=artists, paragraph_length=4, lyrics_length=16, relevant=True, same=False, print_lyrics=True )
I gotta tell you baby
Save our city
Think of me as just a dream
Changes fill my time, baby, that's alright with me


Tell me, baby, what's my name
Alright, okay, alright, okay!
All that amounts to is love that you fed by perversion and pain
In fact, they look so strange


Tell you, pretty baby
Changes fill my time, baby, that's alright with me
I'm from South Philadelphia
It'd be enough, but just my luck, I fell in love and maybe


When the levee breaks, baby you've got to move, you got to move now
I see you walking around
People talking all around
Break it down

2.Generate Song Lyrics with the Same Rhymes of Input

generate_lyrics(inputs=keyword, artists=artists, paragraph_length=4, lyrics_length=16, relevant=False, same=False, print_lyrics=True )
She just puts around, being lazy
Somebody, somebody
Oh baby, baby, I like your honey and it sure likes me
If I could teach my hands to see


Noon burned gold into our hair
Gonna love you, baby, here I come again
Lost cells
But now, could you blow it all on a million-dollar bet


I never wanted you to be someone afraid to know themselves
And now I can't get back again
Please, Mr. Fireman, won't you ring your bell?
Craze, baby, the rainbow's end


Down in the pits you go no lower
You don't have to go, oh, oh, oh, oh
To a strange night of stone
Oh yeah, oh yeah, oh, oh, oh
Owner
MisterDK
MisterDK
Script used to download data for stocks.

This script is useful for downloading stock market data for a wide range of companies specified by their respective tickers. The script reads in the d

Carmelo Gonzales 71 Oct 04, 2022
Jobinja.ir jobs scraper.

Jobinja.ir Dataset Introduction This project is a simple web scraper that scraps pages of jobinja.ir concurrently and writes and update (if file gets

Iman Kermani 3 Apr 15, 2022
This Spider/Bot is developed using Python and based on Scrapy Framework to Fetch some items information from Amazon

- Hello, This Project Contains Amazon Web-bot. - I've developed this bot for fething some items information on Amazon. - Scrapy Framework in Python is

Khaled Tofailieh 4 Feb 13, 2022
A spider for Universal Online Judge(UOJ) system, converting problem pages to PDFs.

Universal Online Judge Spider Introduction This is a spider for Universal Online Judge (UOJ) system (https://uoj.ac/). It also works for all other Onl

TriNitroTofu 1 Dec 07, 2021
Introduction to WebScraping Workshop - Semcomp 24 Beta

Extrair informações da internet de forma automatizada. Existem diversas maneiras de fazer isso, nesse tutorial vamos ver algumas delas, por meio de bibliotecas de python.

Luísa Moura 19 Sep 11, 2022
A universal package of scraper scripts for humans

Scrapera is a completely Chromedriver free package that provides access to a variety of scraper scripts for most commonly used machine learning and data science domains.

299 Dec 15, 2022
茅台抢购最新优化版本,茅台秒杀,优化了抢购协程队列

茅台抢购最新优化版本,茅台秒杀,优化了抢购协程队列

MaoTai 33 Sep 03, 2022
Scrape puzzle scrambles from csTimer.net

Scroodle Selenium script to scrape scrambles from csTimer.net csTimer runs locally in your browser, so this doesn't strain the servers any more than i

Jason Nguyen 1 Oct 29, 2021
HappyScrapper - Google news web scrapper with python

HappyScrapper ~ Google news web scrapper INSTALLATION ♦ Clone the repository ♦ O

Jhon Aguiar 0 Nov 07, 2022
Scraping news from Ucsal portal with Scrapy.

NewsScraping Esse é um projeto de raspagem das últimas noticias, de 2021, do portal da universidade Ucsal http://noosfero.ucsal.br/institucional Tecno

Crissiano Pires 0 Sep 30, 2021
A simplistic scraper made to download tons of random screenshots made by people.

printStealer 1.1 What is this tool? This tool is developed to show the insecurity of the screenshot utility called prnt sc. It is a site that stores s

appelsiensam 4 Jul 26, 2022
A scalable frontier for web crawlers

Frontera Overview Frontera is a web crawling framework consisting of crawl frontier, and distribution/scaling primitives, allowing to build a large sc

Scrapinghub 1.2k Jan 02, 2023
用python爬取江苏几大高校的就业网站,并提供3种方式通知给用户,分别是通过微信发送、命令行直接输出、windows气泡通知。

crawler_for_university 用python爬取江苏几大高校的就业网站,并提供3种方式通知给用户,分别是通过微信发送、命令行直接输出、windows气泡通知。 环境依赖 wxpy,requests,bs4等库 功能描述 该项目基于python,通过爬虫爬各高校的就业信息网,爬取招聘信

8 Aug 16, 2021
Libextract: extract data from websites

Libextract is a statistics-enabled data extraction library that works on HTML and XML documents and written in Python

499 Dec 09, 2022
Web and PDF Scraper Refactoring

Web and PDF Scraper Refactoring This repository contains the example code of the Web and PDF scraper code roast. Here are the links to the videos: Par

18 Dec 31, 2022
Dailyiptvlist.com Scraper With Python

Dailyiptvlist.com scraper Info Made in python Linux only script Script requires to have wget installed Running script Clone repository with: git clone

1 Oct 16, 2021
Current Antarctic large iceberg positions derived from ASCAT and OSCAT-2

Iceberg Locations Antarctic large iceberg positions derived from ASCAT and OSCAT-2. All data collected here are from the NASA SCP website Overview Thi

Joel Hanson 5 Jul 27, 2022
Web-scraping - A bot using Python with BeautifulSoup that scraps IRS website by form number and returns the results as json

Web-scraping - A bot using Python with BeautifulSoup that scraps IRS website (prior form publication) by form number and returns the results as json. It provides the option to download pdfs over a ra

1 Jan 04, 2022
对于有验证码的站点爆破,用于安全合法测试

使用方法 python3 main.py + 配置好的文件 python3 main.py Verify.json python3 main.py NoVerify.json 以上分别对应有验证码的demo和无验证码的demo Tips: 你可以以域名作为配置文件名字加载:python3 main

47 Nov 09, 2022
A simple app to scrap data from Twitter.

Twitter-Scraping-App A simple app to scrap data from Twitter. Available Features Search query. Select number of data you want to fetch from twitter. C

Davis David 2 Oct 31, 2022