Skip to content

Instantly share code, notes, and snippets.

View honzapav's full-sized avatar

Honza Páv honzapav

View GitHub Profile
@honzapav
honzapav / scrape-learning.md
Created April 13, 2026 14:46
Learnings from scraping praha.eu

Learnings ze scrapování praha.eu

Hlavní princip: scraping je pipeline, ne jeden krok

Scrapovací projekt má čtyři fáze. Každá má jiný cíl, jiný nástroj a jiný výstup. Míchat je dohromady = plýtvání penězi, časem a nervy.

Fáze Cíl Nástroj Výstup
1. Discovery Zjistit co na webu je robots.txt, sitemap, Firecrawl cloud (map, crawl) Seznam URL
2. Klasifikace Rozlišit stránky od obrázků, dokumentů, smetí; otestovat SPA vs statické curl testy, regex na URL Vyčištěný seznam + typ per URL
@honzapav
honzapav / scrape-learning.md
Created April 13, 2026 14:46
Learnings from scraping praha.eu

Learnings ze scrapování praha.eu

Hlavní princip: scraping je pipeline, ne jeden krok

Scrapovací projekt má čtyři fáze. Každá má jiný cíl, jiný nástroj a jiný výstup. Míchat je dohromady = plýtvání penězi, časem a nervy.

Fáze Cíl Nástroj Výstup
1. Discovery Zjistit co na webu je robots.txt, sitemap, Firecrawl cloud (map, crawl) Seznam URL
2. Klasifikace Rozlišit stránky od obrázků, dokumentů, smetí; otestovat SPA vs statické curl testy, regex na URL Vyčištěný seznam + typ per URL
name ai-reviewer
description Code reviewer embodying the AI Visionaries' philosophy. Use proactively to ensure self-learning systems, adaptability, and the fusion of reasoning with computation.
tools Read, Grep, Glob, Bash
model sonnet

You are the AI Visionaries — Karpathy, Howard, Chollet, and Hassabis unified. You personify the ideals of self-learning systems, code that adapts, and the fusion of reasoning with computation. Fully embrace these ideals and push back when design thinking ignores data, feedback, or emergent behavior.

When reviewing code:

SELECT b.id AS business_case_id,
b.supplier_id AS business_case_supplier_id,
p.supplier_id AS product_supplier_id,
b.product_id,
b.status
FROM business_case b
JOIN product p ON b.product_id = p.id
WHERE b.supplier_id IS NOT NULL
AND b.supplier_id != p.supplier_id
AND b.status = 'čekáme na výsledek aukce';
WITH user_contact_details AS (
SELECT
ucd.user_id,
MAX(CASE WHEN ucd.type = 'email' THEN ucd.value ELSE NULL END) AS user_contact_detail_email,
MAX(CASE WHEN ucd.type = 'phone' THEN ucd.value ELSE NULL END) AS user_contact_detail_phone
FROM
user_contact_detail ucd
GROUP BY
ucd.user_id
)
SELECT
cols.table_schema,
cols.table_name,
cols.column_name,
cols.data_type,
cols.column_default,
(
SELECT CASE
WHEN COUNT(*) > 0 THEN 'Yes'
ELSE 'No'
Sub HideEveryOtherRow()
'Updateby20140317
Dim rng As Range
Dim InputRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = 1 To InputRng.Rows.Count Step 2
Set rng = InputRng.Cells(i, 1)
@honzapav
honzapav / gist:1ed434985ea9133679d8
Created November 28, 2015 12:34
VBA extract URL from link
Sub ExtractHL()
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
HL.Range.Offset(0, 1).Value = HL.Address
Next
End Sub
'ač', 'ad', 'ah', 'ai', 'aj', 'ak', 'ap', 'aš', 'ať', 'au', 'až', 'by', 'či', 'čj', 'čl', 'co', 'dá', 'do', 'dr', 'ec', 'es', 'fa', 'fn', 'fy', 'hd', 'hl', 'ho', 'hw', 'já', 'je', 'ji', 'kb', 'ke', 'km', 'ks', 'ku', 'kv', 'lg', 'li', 'lq', 'má', 'mb', 'mé', 'mi', 'mu', 'na', 'nc', 'nd', 'ne', 'ně', 'nf', 'nv', 'od', 'ok', 'on', 'op', 'os', 'pa', 'pc', 'pí', 'po', 'př', 'pt', 'sb', 'se', 'si', 'sk', 'ss', 'sš', 'st', 'sw', 'ta', 'té', 'ti', 'tj', 'to', 'tř', 'tu', 'ty', 'uč', 'uk', 'úl', 'um', 'úv', 'už', 've', 'ví', 'vš', 'vy', 'wc', 'xt', 'za', 'ze', 'že', 'zš', 'a přec', 'a přece', 'a přeci', 'a sice', 'a to', 'a/čeština', 'aby', 'aji', 'ale', 'an', 'aneb', 'ani', 'aniž', 'ano i', 'anžto', 'avšak', 'ačkoli', 'ačkoliv', 'ba', 'bo', 'buď', 'div', 'dokud', 'dílem', 'enem', 'hned', 'i', 'i když', 'jakkoliv', 'jako', 'jakoby', 'jednak', 'jen', 'jenom', 'jenže', 'jestli', 'jestliže', 'jinak', 'kdyby', 'když', 'kór', 'ledva', 'leč', 'málem', 'neb', 'nebo', 'neboli', 'neboť', 'než', 'nežli', 'ni', 'nicméně', 'nobrž
@honzapav
honzapav / SharedCountAPIcall
Last active November 13, 2015 20:13
Shared Count API call
https://free.sharedcount.com/?url={sem-patri-url}&apikey={sem-patri-api-key}
pro OpenRefine:
'https://free.sharedcount.com/?url=' + value + '&apikey={sem-patri-api-key}'
value.parseJson()[„like_count“]
value.parseJson()[„share_count“]
value.parseJson()[„GooglePlusOne“]
value.parseJson()[„Twitter“]