python-jobspy-damarowen 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- python_jobspy_damarowen-1.2.2/CHANGELOG.md +29 -0
- python_jobspy_damarowen-1.2.0/README.md → python_jobspy_damarowen-1.2.2/PKG-INFO +166 -0
- python_jobspy_damarowen-1.2.0/PKG-INFO → python_jobspy_damarowen-1.2.2/README.md +108 -28
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/jobstreet/__init__.py +25 -1
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/pyproject.toml +2 -2
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/LICENSE +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/bayt/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/bdjobs/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/bdjobs/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/bdjobs/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/exception.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/glassdoor/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/glassdoor/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/glassdoor/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/google/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/google/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/google/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/indeed/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/indeed/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/indeed/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/jobstreet/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/jobstreet/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/linkedin/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/linkedin/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/linkedin/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/model.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/naukri/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/naukri/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/naukri/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/util.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/ziprecruiter/__init__.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/ziprecruiter/constant.py +0 -0
- {python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/ziprecruiter/util.py +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.2.2] - 2026-07-19
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- `CHANGELOG.md` to track changes between releases and display them on PyPI.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- `pyproject.toml` now reads release notes from `CHANGELOG.md` for PyPI release history.
|
|
15
|
+
|
|
16
|
+
## [1.2.1] - 2026-07-19
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- Expanded JobStreet Tangerang location filter to include Serpong, BSD, Alam Sutera, Tangerang Selatan, Kabupaten Tangerang, Kota Tangerang, and surrounding Banten areas.
|
|
20
|
+
|
|
21
|
+
## [1.2.0] - 2026-07-19
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- Initial fork release as `python-jobspy-damarowen`.
|
|
25
|
+
- JobStreet Indonesia scraper (`site_name="jobstreet"`).
|
|
26
|
+
- README with usage examples, engine integration guide, and development workflow.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Package metadata updated for fork publication on PyPI.
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: python-jobspy-damarowen
|
|
3
|
+
Version: 1.2.2
|
|
4
|
+
Summary: Job scraper for LinkedIn, Indeed, Glassdoor, ZipRecruiter, Bayt, and JobStreet (Indonesia fork)
|
|
5
|
+
License-File: LICENSE
|
|
6
|
+
Keywords: jobs-scraper,jobstreet,linkedin,indeed,glassdoor,ziprecruiter,bayt,naukri
|
|
7
|
+
Author: Cullen Watson
|
|
8
|
+
Author-email: cullen@cullenwatson.com
|
|
9
|
+
Requires-Python: >=3.10,<4.0
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
|
|
17
|
+
Requires-Dist: markdownify (>=1.1.0,<2.0.0)
|
|
18
|
+
Requires-Dist: numpy (>=1.26.0)
|
|
19
|
+
Requires-Dist: pandas (>=2.1.0,<3.0.0)
|
|
20
|
+
Requires-Dist: pydantic (>=2.3.0,<3.0.0)
|
|
21
|
+
Requires-Dist: regex (>=2024.4.28,<2025.0.0)
|
|
22
|
+
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
23
|
+
Requires-Dist: tls-client (>=1.0.1,<2.0.0)
|
|
24
|
+
Project-URL: Homepage, https://github.com/damarowen/JobSpy
|
|
25
|
+
Project-URL: Repository, https://github.com/damarowen/JobSpy
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
|
|
1
28
|
<img src="https://github.com/cullenwatson/JobSpy/assets/78247585/ae185b7e-e444-4712-8bb9-fa97f53e896b" width="400">
|
|
2
29
|
|
|
3
30
|
**JobSpy** is a job scraping library with the goal of aggregating all the jobs from popular job boards with one tool.
|
|
@@ -54,6 +81,114 @@ zip_recruiter Software Developer TEKsystems Phoenix
|
|
|
54
81
|
|
|
55
82
|
```
|
|
56
83
|
|
|
84
|
+
## Using JobSpy as a Scraping Engine
|
|
85
|
+
|
|
86
|
+
This package is published to PyPI as `python-jobspy-damarowen` and can be used as the scraping engine inside your own API or application.
|
|
87
|
+
|
|
88
|
+
### Installation
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
pip install python-jobspy-damarowen==1.2.0
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Import and Scrape
|
|
95
|
+
|
|
96
|
+
```python
|
|
97
|
+
from jobspy import scrape_jobs
|
|
98
|
+
|
|
99
|
+
jobs = scrape_jobs(
|
|
100
|
+
site_name="jobstreet",
|
|
101
|
+
search_term="software engineer",
|
|
102
|
+
location="Jakarta",
|
|
103
|
+
results_wanted=10,
|
|
104
|
+
hours_old=24,
|
|
105
|
+
verbose=0,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
print(f"Found {len(jobs)} jobs")
|
|
109
|
+
print(jobs.to_dict(orient="records"))
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### FastAPI Example
|
|
113
|
+
|
|
114
|
+
```python
|
|
115
|
+
from fastapi import FastAPI
|
|
116
|
+
from jobspy import scrape_jobs
|
|
117
|
+
|
|
118
|
+
app = FastAPI()
|
|
119
|
+
|
|
120
|
+
@app.post("/scrape")
|
|
121
|
+
def scrape(
|
|
122
|
+
site_name: str = "jobstreet",
|
|
123
|
+
search_term: str = "software engineer",
|
|
124
|
+
location: str | None = None,
|
|
125
|
+
results_wanted: int = 10,
|
|
126
|
+
hours_old: int | None = None,
|
|
127
|
+
):
|
|
128
|
+
kwargs = {
|
|
129
|
+
"site_name": site_name,
|
|
130
|
+
"search_term": search_term,
|
|
131
|
+
"results_wanted": results_wanted,
|
|
132
|
+
"verbose": 0,
|
|
133
|
+
}
|
|
134
|
+
if location:
|
|
135
|
+
kwargs["location"] = location
|
|
136
|
+
if hours_old is not None:
|
|
137
|
+
kwargs["hours_old"] = hours_old
|
|
138
|
+
|
|
139
|
+
jobs = scrape_jobs(**kwargs)
|
|
140
|
+
return {
|
|
141
|
+
"total": len(jobs),
|
|
142
|
+
"jobs": jobs.to_dict(orient="records"),
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### JobStreet Indonesia Notes
|
|
147
|
+
|
|
148
|
+
- Use `site_name="jobstreet"` to scrape JobStreet Indonesia.
|
|
149
|
+
- `location` accepts Indonesian city names such as `Jakarta`, `Tangerang`, `Bandung`, `Surabaya`, or `Yogyakarta`.
|
|
150
|
+
- If `location` is omitted, the search defaults to `Indonesia` (nationwide).
|
|
151
|
+
- For `hours_old`, the scraper maps the value to JobStreet's server-side `daterange` filter (1, 3, 7, 14, or 30 days).
|
|
152
|
+
|
|
153
|
+
## Development & Release Workflow
|
|
154
|
+
|
|
155
|
+
### Day-to-Day Development
|
|
156
|
+
|
|
157
|
+
You can push commits to GitHub as often as needed without changing the package version:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
git add -A
|
|
161
|
+
git commit -m "fix(jobstreet): improve location slug handling"
|
|
162
|
+
git push origin main
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
No PyPI release is required for normal development commits.
|
|
166
|
+
|
|
167
|
+
### Releasing a New Version
|
|
168
|
+
|
|
169
|
+
1. **Bump the version** in [`pyproject.toml`](pyproject.toml) following [Semantic Versioning](https://semver.org/):
|
|
170
|
+
- `1.2.0` → `1.2.1` for bug fixes
|
|
171
|
+
- `1.2.0` → `1.3.0` for new features
|
|
172
|
+
- `1.2.0` → `2.0.0` for breaking changes
|
|
173
|
+
|
|
174
|
+
2. **Commit the version bump**:
|
|
175
|
+
```bash
|
|
176
|
+
git add pyproject.toml
|
|
177
|
+
git commit -m "chore(release): bump version to 1.2.1"
|
|
178
|
+
git push origin main
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
3. **Build and upload to PyPI**:
|
|
182
|
+
```bash
|
|
183
|
+
python -m build
|
|
184
|
+
twine upload dist/*
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
4. **Update downstream projects** (e.g., `jobspy-api`) to use the new version:
|
|
188
|
+
```txt
|
|
189
|
+
python-jobspy-damarowen==1.2.1
|
|
190
|
+
```
|
|
191
|
+
|
|
57
192
|
### Parameters for `scrape_jobs()`
|
|
58
193
|
|
|
59
194
|
```plaintext
|
|
@@ -258,3 +393,34 @@ Naukri specific
|
|
|
258
393
|
├── vacancy_count
|
|
259
394
|
└── work_from_home_type
|
|
260
395
|
```
|
|
396
|
+
|
|
397
|
+
# Changelog
|
|
398
|
+
|
|
399
|
+
All notable changes to this project will be documented in this file.
|
|
400
|
+
|
|
401
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
402
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
403
|
+
|
|
404
|
+
## [1.2.2] - 2026-07-19
|
|
405
|
+
|
|
406
|
+
### Added
|
|
407
|
+
- `CHANGELOG.md` to track changes between releases and display them on PyPI.
|
|
408
|
+
|
|
409
|
+
### Changed
|
|
410
|
+
- `pyproject.toml` now reads release notes from `CHANGELOG.md` for PyPI release history.
|
|
411
|
+
|
|
412
|
+
## [1.2.1] - 2026-07-19
|
|
413
|
+
|
|
414
|
+
### Changed
|
|
415
|
+
- Expanded JobStreet Tangerang location filter to include Serpong, BSD, Alam Sutera, Tangerang Selatan, Kabupaten Tangerang, Kota Tangerang, and surrounding Banten areas.
|
|
416
|
+
|
|
417
|
+
## [1.2.0] - 2026-07-19
|
|
418
|
+
|
|
419
|
+
### Added
|
|
420
|
+
- Initial fork release as `python-jobspy-damarowen`.
|
|
421
|
+
- JobStreet Indonesia scraper (`site_name="jobstreet"`).
|
|
422
|
+
- README with usage examples, engine integration guide, and development workflow.
|
|
423
|
+
|
|
424
|
+
### Changed
|
|
425
|
+
- Package metadata updated for fork publication on PyPI.
|
|
426
|
+
|
|
@@ -1,30 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: python-jobspy-damarowen
|
|
3
|
-
Version: 1.2.0
|
|
4
|
-
Summary: Job scraper for LinkedIn, Indeed, Glassdoor, ZipRecruiter, Bayt, and JobStreet (Indonesia fork)
|
|
5
|
-
License-File: LICENSE
|
|
6
|
-
Keywords: jobs-scraper,jobstreet,linkedin,indeed,glassdoor,ziprecruiter,bayt,naukri
|
|
7
|
-
Author: Cullen Watson
|
|
8
|
-
Author-email: cullen@cullenwatson.com
|
|
9
|
-
Requires-Python: >=3.10,<4.0
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
-
Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0)
|
|
17
|
-
Requires-Dist: markdownify (>=1.1.0,<2.0.0)
|
|
18
|
-
Requires-Dist: numpy (>=1.26.0)
|
|
19
|
-
Requires-Dist: pandas (>=2.1.0,<3.0.0)
|
|
20
|
-
Requires-Dist: pydantic (>=2.3.0,<3.0.0)
|
|
21
|
-
Requires-Dist: regex (>=2024.4.28,<2025.0.0)
|
|
22
|
-
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
23
|
-
Requires-Dist: tls-client (>=1.0.1,<2.0.0)
|
|
24
|
-
Project-URL: Homepage, https://github.com/damarowen/JobSpy
|
|
25
|
-
Project-URL: Repository, https://github.com/damarowen/JobSpy
|
|
26
|
-
Description-Content-Type: text/markdown
|
|
27
|
-
|
|
28
1
|
<img src="https://github.com/cullenwatson/JobSpy/assets/78247585/ae185b7e-e444-4712-8bb9-fa97f53e896b" width="400">
|
|
29
2
|
|
|
30
3
|
**JobSpy** is a job scraping library with the goal of aggregating all the jobs from popular job boards with one tool.
|
|
@@ -81,6 +54,114 @@ zip_recruiter Software Developer TEKsystems Phoenix
|
|
|
81
54
|
|
|
82
55
|
```
|
|
83
56
|
|
|
57
|
+
## Using JobSpy as a Scraping Engine
|
|
58
|
+
|
|
59
|
+
This package is published to PyPI as `python-jobspy-damarowen` and can be used as the scraping engine inside your own API or application.
|
|
60
|
+
|
|
61
|
+
### Installation
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pip install python-jobspy-damarowen==1.2.0
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Import and Scrape
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
from jobspy import scrape_jobs
|
|
71
|
+
|
|
72
|
+
jobs = scrape_jobs(
|
|
73
|
+
site_name="jobstreet",
|
|
74
|
+
search_term="software engineer",
|
|
75
|
+
location="Jakarta",
|
|
76
|
+
results_wanted=10,
|
|
77
|
+
hours_old=24,
|
|
78
|
+
verbose=0,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
print(f"Found {len(jobs)} jobs")
|
|
82
|
+
print(jobs.to_dict(orient="records"))
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### FastAPI Example
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
from fastapi import FastAPI
|
|
89
|
+
from jobspy import scrape_jobs
|
|
90
|
+
|
|
91
|
+
app = FastAPI()
|
|
92
|
+
|
|
93
|
+
@app.post("/scrape")
|
|
94
|
+
def scrape(
|
|
95
|
+
site_name: str = "jobstreet",
|
|
96
|
+
search_term: str = "software engineer",
|
|
97
|
+
location: str | None = None,
|
|
98
|
+
results_wanted: int = 10,
|
|
99
|
+
hours_old: int | None = None,
|
|
100
|
+
):
|
|
101
|
+
kwargs = {
|
|
102
|
+
"site_name": site_name,
|
|
103
|
+
"search_term": search_term,
|
|
104
|
+
"results_wanted": results_wanted,
|
|
105
|
+
"verbose": 0,
|
|
106
|
+
}
|
|
107
|
+
if location:
|
|
108
|
+
kwargs["location"] = location
|
|
109
|
+
if hours_old is not None:
|
|
110
|
+
kwargs["hours_old"] = hours_old
|
|
111
|
+
|
|
112
|
+
jobs = scrape_jobs(**kwargs)
|
|
113
|
+
return {
|
|
114
|
+
"total": len(jobs),
|
|
115
|
+
"jobs": jobs.to_dict(orient="records"),
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### JobStreet Indonesia Notes
|
|
120
|
+
|
|
121
|
+
- Use `site_name="jobstreet"` to scrape JobStreet Indonesia.
|
|
122
|
+
- `location` accepts Indonesian city names such as `Jakarta`, `Tangerang`, `Bandung`, `Surabaya`, or `Yogyakarta`.
|
|
123
|
+
- If `location` is omitted, the search defaults to `Indonesia` (nationwide).
|
|
124
|
+
- For `hours_old`, the scraper maps the value to JobStreet's server-side `daterange` filter (1, 3, 7, 14, or 30 days).
|
|
125
|
+
|
|
126
|
+
## Development & Release Workflow
|
|
127
|
+
|
|
128
|
+
### Day-to-Day Development
|
|
129
|
+
|
|
130
|
+
You can push commits to GitHub as often as needed without changing the package version:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
git add -A
|
|
134
|
+
git commit -m "fix(jobstreet): improve location slug handling"
|
|
135
|
+
git push origin main
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
No PyPI release is required for normal development commits.
|
|
139
|
+
|
|
140
|
+
### Releasing a New Version
|
|
141
|
+
|
|
142
|
+
1. **Bump the version** in [`pyproject.toml`](pyproject.toml) following [Semantic Versioning](https://semver.org/):
|
|
143
|
+
- `1.2.0` → `1.2.1` for bug fixes
|
|
144
|
+
- `1.2.0` → `1.3.0` for new features
|
|
145
|
+
- `1.2.0` → `2.0.0` for breaking changes
|
|
146
|
+
|
|
147
|
+
2. **Commit the version bump**:
|
|
148
|
+
```bash
|
|
149
|
+
git add pyproject.toml
|
|
150
|
+
git commit -m "chore(release): bump version to 1.2.1"
|
|
151
|
+
git push origin main
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
3. **Build and upload to PyPI**:
|
|
155
|
+
```bash
|
|
156
|
+
python -m build
|
|
157
|
+
twine upload dist/*
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
4. **Update downstream projects** (e.g., `jobspy-api`) to use the new version:
|
|
161
|
+
```txt
|
|
162
|
+
python-jobspy-damarowen==1.2.1
|
|
163
|
+
```
|
|
164
|
+
|
|
84
165
|
### Parameters for `scrape_jobs()`
|
|
85
166
|
|
|
86
167
|
```plaintext
|
|
@@ -285,4 +366,3 @@ Naukri specific
|
|
|
285
366
|
├── vacancy_count
|
|
286
367
|
└── work_from_home_type
|
|
287
368
|
```
|
|
288
|
-
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/jobstreet/__init__.py
RENAMED
|
@@ -166,6 +166,30 @@ class JobStreet(Scraper):
|
|
|
166
166
|
|
|
167
167
|
jobs = []
|
|
168
168
|
requested_location = (self.scraper_input.location or "Indonesia").strip().lower()
|
|
169
|
+
# Expand "Tangerang" to cover the whole Tangerang metropolitan area
|
|
170
|
+
location_matchers = {
|
|
171
|
+
"tangerang": {
|
|
172
|
+
"tangerang",
|
|
173
|
+
"serpong",
|
|
174
|
+
"bsd",
|
|
175
|
+
"alam sutera",
|
|
176
|
+
"cipondoh",
|
|
177
|
+
"ciledug",
|
|
178
|
+
"batuceper",
|
|
179
|
+
"benda",
|
|
180
|
+
"jatiuwung",
|
|
181
|
+
"karawaci",
|
|
182
|
+
"larangan",
|
|
183
|
+
"periuk",
|
|
184
|
+
"pinang",
|
|
185
|
+
"tangerang selatan",
|
|
186
|
+
"kabupaten tangerang",
|
|
187
|
+
"kota tangerang",
|
|
188
|
+
"banten",
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
accepted_matchers = location_matchers.get(requested_location, {requested_location})
|
|
192
|
+
|
|
169
193
|
for card in job_cards:
|
|
170
194
|
try:
|
|
171
195
|
job = self._parse_card(card)
|
|
@@ -176,7 +200,7 @@ class JobStreet(Scraper):
|
|
|
176
200
|
getattr(job.location, field, "") or ""
|
|
177
201
|
for field in ("city", "state", "country")
|
|
178
202
|
).lower()
|
|
179
|
-
if
|
|
203
|
+
if not any(matcher in job_location for matcher in accepted_matchers):
|
|
180
204
|
log.debug(f"Skipping job '{job.title}' in '{job_location}' (requested {requested_location})")
|
|
181
205
|
continue
|
|
182
206
|
jobs.append(job)
|
|
@@ -4,12 +4,12 @@ build-backend = "poetry.core.masonry.api"
|
|
|
4
4
|
|
|
5
5
|
[tool.poetry]
|
|
6
6
|
name = "python-jobspy-damarowen"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.2"
|
|
8
8
|
description = "Job scraper for LinkedIn, Indeed, Glassdoor, ZipRecruiter, Bayt, and JobStreet (Indonesia fork)"
|
|
9
9
|
authors = ["Cullen Watson <cullen@cullenwatson.com>", "Zachary Hampton <zachary@zacharysproducts.com>", "Damarowen"]
|
|
10
10
|
homepage = "https://github.com/damarowen/JobSpy"
|
|
11
11
|
repository = "https://github.com/damarowen/JobSpy"
|
|
12
|
-
readme = "README.md"
|
|
12
|
+
readme = [ "README.md", "CHANGELOG.md",]
|
|
13
13
|
keywords = [ "jobs-scraper", "jobstreet", "linkedin", "indeed", "glassdoor", "ziprecruiter", "bayt", "naukri"]
|
|
14
14
|
[[tool.poetry.packages]]
|
|
15
15
|
include = "jobspy"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/glassdoor/__init__.py
RENAMED
|
File without changes
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/glassdoor/constant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/jobstreet/constant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/ziprecruiter/__init__.py
RENAMED
|
File without changes
|
{python_jobspy_damarowen-1.2.0 → python_jobspy_damarowen-1.2.2}/jobspy/ziprecruiter/constant.py
RENAMED
|
File without changes
|
|
File without changes
|