Python Engineer (Web Scraping) at NewsCatcher

Posted on: 01/10/2022

Location: (REMOTE)

Original Source

Tags: k8s selenium scrapy datadog gcp github flask mongodb elasticsearch aws docker javascript python kubernetes postgresql kafka

About NewsCatcher ================= [NewsCatcher](https://newscatcherapi.com/) is building the largest & most accurate database of news articles published online. Our solution crawls millions of web pages daily to detect over 1,000,000 news articles published online each day. We deal with unstructured text data parsed from HTML pages. You can read more about how NewsCatcher works via this link. Today, we're a team of 2 technical co-founders. We're looking for our first hire: an experienced engineer, who can deliver end-to-end data solutions. As our first engineering hire you will have a key influence on our new infrastructure. You'll actively participate in the technical design process, bringing your expertise and analysis to help make data-driven decisions We're fast-growing, so if you can see yourself running your own team in a year we're a great place for you. Our tech stack: * AWS, GCP, OCI * Python (including asynchronous workloads) * Docker & k8s * Pub/sub, SQS, Kafka * Elasticsearch * MongoDB/Dynamo * PostgreSQL Your skills =========== * Strong programming skills in Python * Experience in web scraping, web crawling * Python Packages: Scrapy, requests, bs4, re, selenium, flask * Knowledge with Docker & Kubernetes ecosystems * Experienced with Cloud platforms such as GCP/AWS/OCI * Experienced working with event-driven/streaming architectures * Monitoring (Elasticsearch/Datadog) * Github for code versioning + Optional: - Javascript - Kubernetes - Kafka Example of tasks ================ **Improve existing web article extraction algorithms**We have our own generic extraction algorithm. You will be asked to improve it so it can extract data from more news sources. The most valuable data we extract is published date, title, content. **Write extraction algorithm for specific news websites**Some websites have a unique web structure, but we still need data from them. If our generic extraction does not process those websites properly, you will be asked to come up with your own method. **Create an algorithm that can distinguish an article webpage from another.**While crawling a website, we go through all the pages it contains. From the "About Us" page to "Our sponsors". Your goal will be to identify those pages which are news articles. **Improve News URLS finding algorithms**If we get an URL of a news source that is not yet in our database, meaning we never extracted anything from it, we have algorithms that search for all ways of finding news articles URL. You will be working on improving it. Reasons to work for us ====================== * You'll be our first hire and we consider to propose you the shares * Get a 360-degree review of the whole architecture * We expect to learn from you, your vote will mean a lot to us * You’ll never get bored * You’ll be surrounded by highly hardworking, talented, and ambitious people * Focus more on quality than quantity