mirror of
https://github.com/NohamR/phpBB-forum-scraper.git
synced 2026-02-21 18:15:43 +00:00
Fork and refactor project for scraping macserialjunkie.com: add a new phpBB spider (uses python-dotenv for credentials, form login enabled, multiple start_urls, robust ID/time/text extraction and pagination) and an SQLitePipeline that saves posts to posts.db with a tqdm progress bar. Update settings to use the SQLite pipeline, increase concurrency, reduce download delay, disable robots.txt, set JOBDIR for resume and silence logs; add .env.example and .python-version, update README and requirements (add tqdm), tidy .gitignore, and add pyproject.toml. Also reorganize package layout (rename/move phpBB_scraper modules), remove legacy pipeline and old spider implementations, and add a dependency lock file (uv.lock).
42 lines
1.3 KiB
Markdown
42 lines
1.3 KiB
Markdown
# phpBB Forum Scraper
|
|
|
|
This is a fork of [phpBB-forum-scraper](https://github.com/Dascienz/phpBB-forum-scraper/) customized for scraping [macserialjunkie.com](https://macserialjunkie.com/).
|
|
|
|
Python-based web scraper for phpBB forums. Project can be used as a template for building your own
|
|
custom Scrapy spiders or for one-off crawls on designated forums. Please keep in mind that aggressive crawls
|
|
can produce significant strain on web servers, so please throttle your request rates.
|
|
|
|
|
|
## Requirements:
|
|
|
|
1. Python web scraping library, [Scrapy](http://scrapy.org/).
|
|
2. Python HTML/XML parsing library, [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/).
|
|
|
|
|
|
## Scraper Output
|
|
|
|
The phpBB.py spider scrapes the following information from forum posts:
|
|
1. Username
|
|
2. User Post Count
|
|
3. Post Date & Time
|
|
4. Post Text
|
|
5. Quoted Text
|
|
|
|
If you need additional data scraped, you will have to create additional spiders or edit the existing spider.
|
|
|
|
|
|
## Edit `phpBB.py` and Specify:
|
|
|
|
1. `allowed_domains`
|
|
2. `start_urls`
|
|
3. `username` & `password`
|
|
4. `forum_login=False` or `forum_login=True`
|
|
|
|
|
|
## Running the Scraper:
|
|
```bash
|
|
cd phpBB_scraper/
|
|
scrapy crawl phpBB
|
|
uv run scrapy crawl phpBB -s JOBDIR=crawls/resume-002
|
|
```
|
|
NOTE: Please adjust `settings.py` to throttle your requests. |