Skip to content

Instantly share code, notes, and snippets.

Paul Shapiro pshapiro

Block or report user

Report or block pshapiro

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@pshapiro
pshapiro / CausalImpact.ipynb
Last active Nov 12, 2019
CausalImpact implementation in Python to demonstrate SEO A/B Testing
View CausalImpact.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pshapiro
pshapiro / YouTube-Playlists-Subtitles.ipynb
Last active Oct 24, 2019
Download auto-generated subtitles from a YouTube playlist and do a term frequency analysis
View YouTube-Playlists-Subtitles.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pshapiro
pshapiro / GoogleEntities.ipynb
Last active Oct 24, 2019
Extract Entities from Search Results using Google NLP for Keyword Research Opportunities
View GoogleEntities.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pshapiro
pshapiro / hitwise-audienceview-keyword-research.py
Created Jun 20, 2019
Automate Keyword Profiling with AudienceView - Requires and existing Crosstab Report
View hitwise-audienceview-keyword-research.py
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
import time
import pandas as pd
import os
@pshapiro
pshapiro / Auto301Redirects.ipynb
Created Jun 19, 2019
Automatic 301 Redirects with SpaCy
View Auto301Redirects.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pshapiro
pshapiro / expired_domain_finder.ipynb
Created Jan 29, 2019
Jupyter Notebook that input outlink from Screaming Frog crawl, grabs PA & DA from Moz API, and uses WHOIS API to determine domain availability.
View expired_domain_finder.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@pshapiro
pshapiro / metadesc.py
Created Jun 6, 2018
Use Text Summarization Algorithms to Help Aid the Writing of Meta Descriptions
View metadesc.py
import csv
import os
from sumy.parsers.html import HtmlParser
from sumy.parsers.plaintext import PlaintextParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.lsa import LsaSummarizer as Lsa
from sumy.summarizers.luhn import LuhnSummarizer as Luhn
from sumy.summarizers.text_rank import TextRankSummarizer as TxtRank
from sumy.summarizers.lex_rank import LexRankSummarizer as LexRank
from sumy.summarizers.sum_basic import SumBasicSummarizer as SumBasic
@pshapiro
pshapiro / index.js
Created Nov 28, 2017
Puppeteer Crawler Example
View index.js
var Walker = require('puppeteer-walker')
var fs = require('fs')
var walker = Walker()
fs.writeFile('output.csv', 'URL, Title, H2\r\n', 'utf8', function (err) {
console.log(`Header written`)
})
walker.on('end', () => console.log('finished walking'))
@pshapiro
pshapiro / reddit-keyword-insights.py
Created Aug 23, 2017
Get stats from reddit keywords
View reddit-keyword-insights.py
import praw
import csv
import datetime
# Create an app: https://www.reddit.com/prefs/apps
# Use http://localhost:8080 as redirect uri
username = ""
password = ""
clientid = ""
clientsecret = ""
@pshapiro
pshapiro / search.html
Created May 12, 2017
Basic example of using the GET method using amp-form
View search.html
<form action="https://searchwilderness.com/" method="get" target="_top">
<input name="s" placeholder="Search The Blog" required="" type="text">
<input type="submit" value="Search">
</form>
You can’t perform that action at this time.