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.1.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.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eksi_scraper-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 b061193baa86f181e600dac1e50cc3885b4e4b3cfa06f8370b135e541f382999
MD5 b2c8023a1904475ce0675724913dfdbd
BLAKE2b-256 a8d249608b373eca85c648d3b0cf66728e026659a8a1babadc584f7348580ad4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eksi_scraper-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51c603fdc37ad32c4188783be235bb65a1fcc1a9e0b3861c91549edf9bfe7d55
MD5 fad9268910a7a99eca7ede19a1ff3e25
BLAKE2b-256 d3de556571359d20b25552957d57762dd19438c5993ef5545f958f059c4dbad6

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