{"id":21130421,"url":"https://github.com/serpapi/code-challenge","last_synced_at":"2025-06-12T05:06:56.186Z","repository":{"id":39163998,"uuid":"175881086","full_name":"serpapi/code-challenge","owner":"serpapi","description":"SerpApi code challenge","archived":false,"fork":false,"pushed_at":"2025-01-16T02:04:48.000Z","size":4916,"stargazers_count":22,"open_issues_count":3,"forks_count":308,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-06T05:15:55.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serpapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-15T19:40:46.000Z","updated_at":"2025-05-18T12:14:48.000Z","dependencies_parsed_at":"2025-06-12T05:04:05.451Z","dependency_job_id":null,"html_url":"https://github.com/serpapi/code-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/serpapi/code-challenge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpapi%2Fcode-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpapi%2Fcode-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpapi%2Fcode-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpapi%2Fcode-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serpapi","download_url":"https://codeload.github.com/serpapi/code-challenge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpapi%2Fcode-challenge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259401997,"owners_count":22851866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T05:33:21.918Z","updated_at":"2025-06-12T05:06:56.166Z","avatar_url":"https://github.com/serpapi.png","language":"HTML","readme":"# Extract Van Gogh Paintings Code Challenge\n\nGoal is to extract a list of Van Gogh paintings from the attached Google search results page.\n\n![Van Gogh paintings](https://github.com/serpapi/code-challenge/blob/master/files/van-gogh-paintings.png?raw=true \"Van Gogh paintings\")\n\n## Instructions\n\nThis is already fully supported on SerpApi. ([relevant test], [html file], [sample json], and [expected array].)\nTry to come up with your own solution and your own test.\nExtract the painting `name`, `extensions` array (date), and Google `link` in an array.\n\nFork this repository and make a PR when ready.\n\nProgramming language wise, Ruby (with RSpec tests) is strongly suggested but feel free to use whatever you feel like.\n\nParse directly the HTML result page ([html file]) in this repository. No extra HTTP requests should be needed for anything.\n\n[relevant test]: https://github.com/serpapi/test-knowledge-graph-desktop/blob/master/spec/knowledge_graph_claude_monet_paintings_spec.rb\n[sample json]: https://raw.githubusercontent.com/serpapi/code-challenge/master/files/van-gogh-paintings.json\n[html file]: https://raw.githubusercontent.com/serpapi/code-challenge/master/files/van-gogh-paintings.html\n[expected array]: https://raw.githubusercontent.com/serpapi/code-challenge/master/files/expected-array.json\n\nAdd also to your array the painting thumbnails present in the result page file (not the ones where extra requests are needed). \n\nTest against 2 other similar result pages to make sure it works against different layouts. (Pages that contain the same kind of carrousel. Don't necessarily have to be paintings.)\n\nThe suggested time for this challenge is 4 hours. But, you can take your time and work more on it if you want.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpapi%2Fcode-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserpapi%2Fcode-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpapi%2Fcode-challenge/lists"}