Skip to content

Instantly share code, notes, and snippets.

View aladagemre's full-sized avatar

Emre Aladağ aladagemre

View GitHub Profile
@aladagemre
aladagemre / n11cat.py
Created December 30, 2020 23:00
N11 kategori listesini çeken bir script
import bs4
import csv
import requests
r = requests.get("https://www.n11.com/site-haritasi")
soup = bs4.BeautifulSoup(r.text, features="html.parser")
with open("kategoriler.csv", "w") as csvfile:
writer = csv.writer(csvfile, delimiter=';', quotechar='"')
mcs = [(a.text, a.get('href')) for a in soup.find_all("a", class_="main-category")]
@aladagemre
aladagemre / polen_crawler.py
Created July 12, 2020 12:38
Madrid Polen Crawler
"""
This is a script for parsing polen levels in Madrid, Spain.
It used to work in 2019 but you may need to make fixes to make it work in the following years.
"""
import re
import locale
import time
import logging
import requests
package controllers
import (
"github.com/revel/revel"
"fmt"
"time"
"gopkg.in/mgo.v2/bson"
"net/url"
"github.com/ChimeraCoder/anaconda"
"strconv"
@aladagemre
aladagemre / pandas_dataframe_intersection.py
Created December 6, 2016 20:55
Check whether a pandas dataframe contains rows with a value that exists in another dataframe.
# We have dataframe A with column name
# We have dataframe B with column name
# I want to see rows in A with name Y such that there exists rows in B with name Y.
# It's like set intersection.
intersected = reduce(lambda x, y: x | (A['name'] == y), [False] + list(B['name']))
intersection = A[intersected]
# other alternatives
intersection = pd.merge(A, B, how='inner', on=['name'])
intersection.dropna(inplace=True)
@aladagemre
aladagemre / bordro.py
Created May 2, 2016 22:34
Çok basit ve özensizce hazırlanmış bir bordro hesaplama scripti. Aylık brüt maaşı girin, aylık net maaş ve işveren maliyetini çıkarsın.
#encoding: utf-8
import math
ay = 1
BM = {}
EK = {}
AGI = {}
SM = {}
@aladagemre
aladagemre / build_after_dropbox_sync.sh
Created January 20, 2016 17:29
This script looks for changes in Dropbox folder. Upon any change, waits for the status to be Up to date. When it's fully synced, starts a build process (/app/build.bin).
#!/bin/sh
uptodate () {
# returns 1 if up to date, 0 otherwise.
python /root/dropbox.py status | grep "Up to date" |wc -l
}
build_after_uptodate() {
while [ "$(uptodate)" != "1" ]; do
sleep 1
done
@aladagemre
aladagemre / lib_igraph.cr
Created December 9, 2015 22:38
igraph c binding code
@[Link("igraph")]
@[Link("glpk")]
@[Link("stdarg")]
@[Link("c++")]
lib IGraph
VS_ALL = 0
VS_ADJ = 1
VS_NONE = 2
VS_1 = 3
VS_VECTORPTR = 4
@aladagemre
aladagemre / mp4_total_duration.py
Created August 24, 2015 17:53
Recursive mp4 duration counter
"""
When you have lots of mp4 files in a folder recursively (lots of subfolders and mp4s residing inside),
You can use this script to measure total duration of all mp4 files.
Useful in estimating the total course duration.
Run this script in folder where you want to start counting from.
"""
import subprocess
@aladagemre
aladagemre / tdk-esanlam.py
Created June 24, 2015 17:42
TDK'dan bir küme kelimenin eş anlamlılarını çeken betik
# coding: utf-8
# TDK sözlüğünden eş anlamlıları çeker.
# words.txt dosyasında her satırda bir kelime olacak şekilde girdi listelenir.
# meanings.txt dosyasına her kelime için eş anlamlılarını bulur ve satır satır yazar.
import requests
import codecs
from bs4 import BeautifulSoup
@aladagemre
aladagemre / jekyll2pelican.py
Created February 10, 2015 16:25
Jekyll to Pelican convertor. Only fixes categories, tags list to comma separated tags and single category
# encoding: utf-8
import os
filenames = filter(lambda x: x.endswith(".md"), os.listdir("."))
def parse(filename):
print filename
lines = open(filename).read().split("\n")
tags_i = None
last_tag_i = None
tags = []