Skip to main content

asynchronously scrapes eksisozluk threads and exports to csv or json

Project description

eksi-scraper

fast, asynchronous eksisozluk thread scraper. exports entries to csv or json.

installation

uv pip install eksi-scraper

or with pip:

pip install eksi-scraper

usage

eksi-scraper -t [thread1] [thread2] ... -f [inputFile.txt] -o (csv or json)

you can pass full URLs or just the slug (the part of the url after '/' and before '?'). for example:

eksi-scraper -t https://eksisozluk.com/murat-kurum--2582131 https://eksisozluk.com/ekrem-imamoglu--2577439 -o json

or using slugs:

eksi-scraper -t murat-kurum--2582131 ekrem-imamoglu--2577439 -o json

or from a file:

eksi-scraper -f threads.txt -o csv

where in threads.txt, threads are listed as URLs or slugs, one per line:

https://eksisozluk.com/murat-kurum--2582131
ekrem-imamoglu--2577439
...

options

flag description
-t, --threads threads to scrape (URLs or slugs)
-f, --file file with threads, one per line
-o, --output output format: csv (default) or json
-v, --verbose show per-page progress
-q, --quiet suppress all console output

console output

by default, eksi-scraper shows progress in the terminal:

[eksi-scraper] Scraping 2 threads
[murat-kurum--2582131] Found 47 pages
[ekrem-imamoglu--2577439] Found 112 pages
[murat-kurum--2582131] Done: 470 entries in 12.3s -> murat-kurum--2582131.json
[ekrem-imamoglu--2577439] Done: 1120 entries in 28.7s -> ekrem-imamoglu--2577439.json
[eksi-scraper] Finished: 2 threads, 1590 entries, 28.7s elapsed

use -v for per-page progress, -q for silent operation.

output

each entry has the following fields:

field description
Content the entry text, with full URLs restored
Author username of the author
Date Created original post date
Last Changed last edit date, or null if never edited

contact

reach out to me at ceylaniberkay@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eksi_scraper-0.2.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eksi_scraper-0.2.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file eksi_scraper-0.2.0.tar.gz.

File metadata

  • Download URL: eksi_scraper-0.2.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for eksi_scraper-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c92baa36cee36e4bd75cd3bced59233429d89572e09252d6b7016d34f0fbb337
MD5 c6f52b58b4db7f9d8de5889976edd741
BLAKE2b-256 93dd29bf2f9299a81d62bb8317b53eaf2e9ed719372f35fbbc326ea3548000d6

See more details on using hashes here.

File details

Details for the file eksi_scraper-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: eksi_scraper-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for eksi_scraper-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97090a29ad415a0ca82f6c235000151ccc7c1b5ed43745a67ef225122753664f
MD5 7de7a8feedeedcac02377ec889d57eb8
BLAKE2b-256 7b8d79f46230c500583b9435ec21308f6f1739b286f146f2b9f4ecb6e1a1938f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page