Ödeme korumasıAyrıntılar
- Paket kapsamındaki revizyonlar ücretsizdir.
- Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.
Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Örnek sonuç
Merging the monthly sales files of 9 shops into one Excel report
How it is run
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")
Settings, not code
The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:
[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price
A part of the code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Reads one shop's file and gives it the report's column names."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.
Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.
Müşteri ve tüm ayrıntılar kurgusaldır.
Bu hizmet hakkında
Hiçbir yere götürmeyen bağlantılar ziyaretçileri rahatsız eder ve siteyi bakımsız gösterir: kaldırdığınız sayfalara yönlendiren eski blog yazıları, katalog değişikliğinden sonra ürün bağlantıları, kapanan iş ortağı siteleri. Bu Python betiği ana sayfanızdan başlar, sitenizin kendi bağlantılarını sayfa sayfa takip eder ve her bağlantıyı, Standart paketten itibaren de bulduğu her görseli kontrol eder. Kırık olanların listesini hatayla, her birinin bulunduğu sayfayla ve bağlantı metniyle kaydeder; böylece neyi ve nerede düzelteceğinizi bilirsiniz. Yalnızca herkese açık sayfaları, belirlediğiniz nazik bir hızda okur ve asla giriş yapmaz. Sayfaların yüklendikten sonra JavaScript ile eklediği bağlantılar gözden kaçabilir. Kendi siteniz için yapılmıştır. Bilgisayarınızda çalıştırır ve bağlantıları kendiniz düzeltirsiniz.
Neler dahil
- Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren başlangıç sayfasını, sınırları ve hızı içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Her bağlantının yeriSayfa, bağlantı metni ve hata
- İç ve dış bağlantılarKendi sayfalarınıza ve diğer sitelere bağlantılar
- Nazik hızİstekler arasında belirlediğiniz bir bekleme
- Yalnızca herkese açık sayfalarGiriş yok, korumaları aşmak yok
- Okunabilir kodYorumlarla; sonradan sınırları değiştirmek kolay
Nasıl çalışır
- 1GörevSitenin adresini ve neyin kontrol edileceğini verirsiniz
- 2KodBetiği ve çalıştırma kılavuzunu yazarız
- 3DeneyinÖnce küçük bir sayfa sınırıyla, sonra tüm sitede çalıştırırsınız
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
Sitenizin adresi, yaklaşık kaç sayfası olduğu ve dışarıda bırakılacak bölümler (arama sonuçları, filtreler, sepet, yönetim sayfaları). Kendi sayfalarınızın yanında görsellerin ve diğer sitelere bağlantıların da kontrol edilip edilmeyeceği. Ne kadar hızlı gidebileceği: saniyede bir sayfa nazik bir varsayılandır. Tercih ettiğiniz rapor formatı (CSV ya da Excel) ve sisteminiz: Windows, macOS ya da Linux.
Size soracaklarımız:
- Sitenizin adresi nedir?
- Neyi kontrol etmeli?
- Dışarıda bırakılacak bir şey var mı?
- Nerede çalışacak?
Paketleri karşılaştırın
| Paketler | TemelSayfa listesindeki bağlantılar$16 | StandartAyarlı site taraması$33 | PremiumBağlantı kontrol aracı$67 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Kod | en fazla 150 satır | en fazla 400 satır | en fazla 1.000 satır |
| Kod dosyası | 1 | en fazla 3 | en fazla 8 |
| Ayar dosyası | Hayır | Evet | Evet |
| Anlaşılır hata mesajları ve log | Hayır | Evet | Evet |
| Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzu | Hayır | Hayır | Evet |
| Kurulum ve çalıştırma kılavuzu (README) | Evet | Evet | Evet |
| Dil | Python | Python | Python |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş ver Premium |
Ödeme koruması
Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.
- Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
- Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
- Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
- Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
- 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
- Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Sorular ve yanıtlar
Başkasının sitesini kontrol edebilir miyim?
Betik kendi siteniz için yapılmıştır. Diğer sitelere giden dış bağlantılarınızın listesini kontrol etmek işin parçasıdır, ama başkasının bütün sitesini dolaşmak amacı değildir.
Raporda neden çalışan bazı bağlantılar var?
Bazı siteler, sayfa tarayıcıda sorunsuz açılsa bile betiklere hata ya da engelle cevap verir. Bu tür bağlantılar elle kontrol edebilmeniz için ayrıca işaretlenir.
Sitemi yavaşlatır mı?
Nazik bir hızda hayır: varsayılan olarak saniyede bir sayfa ister; bu, hızla tıklayıp dolaşan tek bir ziyaretçiden daha hafiftir. Ayarlardan daha da yavaşlatabilirsiniz.
Bağlantıları düzeltecek mi?
Hayır. Size neyin nerede kırık olduğunun listesini verir; bağlantıları sitenizin düzenleyicisinde siz düzeltirsiniz. Sitenize asla giriş yapmayız.
Yanıtınızı bulamadınız mı?