Senior Python Data Scraping Engineer (Remote)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

SALARY

$100

HOURS PER WEEK

TBD

DATE UPDATED

Jul 4, 2026

JOB OVERVIEW

We’re looking for an experienced Senior Python Data Scraping Engineer to build a scalable data collection platform capable of gathering publicly available information from a variety of online sources.

The ideal candidate has extensive experience developing custom scraping applications in Python and understands how to build reliable, efficient systems that collect, process, and organize large amounts of public web data.

Responsibilities

* Design and build a custom Python-based data scraping platform
* Collect publicly available information from websites, forums, blogs, message boards, directories, and social platforms where permitted
* Develop scalable scraping workflows capable of handling large datasets
* Implement proxy management and request optimization for reliable data collection
* Build modular, maintainable, and well-documented code
* Store, clean, and organize collected data for downstream processing
* Monitor scraper performance and resolve issues as websites evolve

Required Skills

* 3+ years of professional Python development
* Strong experience building custom web scraping applications
* Experience with Scrapy, Playwright, BeautifulSoup, Requests, Selenium, or similar frameworks
* Experience with proxy management and large-scale scraping architecture
* Strong understanding of HTTP, APIs, sessions, cookies, headers, and HTML parsing
* Experience with databases such as PostgreSQL, MySQL, MongoDB, or SQLite
* Comfortable working in PyCharm or another professional Python development environment
* Experience using Git and collaborative development workflows

Nice to Have

* Experience collecting publicly available data from online communities, discussion forums, blogs, review websites, and social platforms where permitted
* Experience with asynchronous programming, multiprocessing, or distributed scraping
* Experience deploying Python applications to cloud or VPS environments
* Familiarity with Docker and automated scheduling tools

To Apply

Please include:

1. A summary of your Python development experience.
2. Examples of scraping projects you’ve built.
3. Which Python libraries and frameworks you use most often.
4. The largest data collection project you’ve completed.
5. Your experience working with proxies and scalable scraping systems.
6. Links to your GitHub or portfolio (if available).
7. Your expected hourly or monthly rate.

We’re looking for someone who can architect and build a reliable, production-ready data collection system from the ground up while following applicable laws and the terms governing the data sources used.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0282
Total Execution Time  0.0296
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,072 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Python-Data-Scraping-Engineer-Remote-1682157
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0208 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0009   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1682157
 LIMIT 1 
0.0014   SELECT *
FROM `employers`
WHERE `employer_id` = 908825
 LIMIT 1 
0.0015   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1682157
AND `misc`.`idIS NULL 
0.0011   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-13',ej.date_added) duration_daysDATEDIFF('2026-07-13',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-07-13',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1682157' 
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1682157 
0.0022   UPDATE employer_jobs SET hit_counts '***Jul-04-2026=496***Jul-05-2026=36***Jul-06-2026=27***Jul-07-2026=22***Jul-08-2026=5***Jul-09-2026=8***Jul-10-2026=7***Jul-11-2026=4***Jul-13-2026=1' WHERE job_id'1682157'  
0.0011   UPDATE employer_jobs SET monthly_hits '***Jul-2026=606' WHERE job_id'1682157'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1682157' AND status LIKE 'sent%' ORDER BY id DESC  
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1682157 
0.0071   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '908825'
AND `date_added` >= '2022-06-08' 
0.0009   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)