{"id":15374634,"url":"https://github.com/ading2210/passmark-scraper","last_synced_at":"2025-07-15T16:32:14.811Z","repository":{"id":115505259,"uuid":"502763406","full_name":"ading2210/passmark-scraper","owner":"ading2210","description":"A Python library that can scrape various websites owned by Passmark for their benchmark results.","archived":false,"fork":false,"pushed_at":"2024-12-03T18:40:31.000Z","size":26,"stargazers_count":10,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T15:11:48.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ading2210.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":"2022-06-13T00:54:16.000Z","updated_at":"2024-12-27T18:52:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"4175d2f5-be0a-43bd-acdf-5a955665e348","html_url":"https://github.com/ading2210/passmark-scraper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ading2210/passmark-scraper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpassmark-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpassmark-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpassmark-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpassmark-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ading2210","download_url":"https://codeload.github.com/ading2210/passmark-scraper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ading2210%2Fpassmark-scraper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265445309,"owners_count":23766448,"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-10-01T13:59:13.041Z","updated_at":"2025-07-15T16:32:14.802Z","avatar_url":"https://github.com/ading2210.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passmark Database Scraper\n\nThis Python library can scrape the Passmark websites in order to fetch various benchmark results. It can sort the benchmark results based on varius critera, such as the score, rank, and the value of the part. It can also search through the listings for a specific search query. Additionally, this uses no external libraries outide of the ones included in Python.  \n\nThe websites that this program can scrape are:\n - cpubenchmark.net\n - videocardbenchmark.net\n - harddrivebenchmark.net\n\n## Usage:\n\nTo use this, just download scraper.py and put it inside the same directory as your Python program.\n\nExample usage:\n```python\nfrom scraper import Scraper\n\nscraper = Scraper(\"www.videocardbenchmark.net\")\n\n#search for a specific term\nsearch_results = scraper.search(query=\"rtx 3090\", limit=10)\n#sort the results based on their value\nsorted_results = scraper.get_sorted_list(sort_by=\"value\", order=\"descending\", limit=20)\n\nfor result in search_results:\n    print(result[1], \"| \", result[0][\"name\"])\nprint(\"-\"*20)\nfor result in sorted_results:\n    print(result[1], \"| \", result[0][\"name\"])\n```\n\n## Documentation:\n\n### The Scraper class:\n\nTo use it, specifiy the domain that you want to get data from. All the other functions are contained inside this class.\n\nValid values:\n - `www.cpubenchmark.net` (default)\n - `www.videocardbenchmark.net`\n - `www.harddrivebenchmark.net`\n\nAnything else will raise a ValueError.\n\nExample: \n```python\nfrom scraper import scraper\n\nscraper = scraper = Scraper(\"www.videocardbenchmark.net\")\n```\n\n### Getting all items:\n\nYou can get all the items in the database using `Scraper.items`. This returns a list containing all the results. \n\nIf you want to refresh the cached results, use `Scraper.scrape()`.\n\n### Searching through the results:\n\nSimply use `Scraper.search(query)`. Optionally, you can use the `limit` argument to limit the number of results returned. This returns a list containing the results of your search. Note that this won't refresh the cached items. You'll have to use `Scraper.scrape()` to refresh it. \n\n### Sorting the results:\n\nYou can sort the items using `Scraper.get_sorted_list(sort_by=critera)`.\n\nValid search critera:\n - `www.cpubenchmark.net`: `'cat', 'cores', 'cpuCount', 'cpumark', 'date', 'href', 'id', 'logicals', 'name', 'output', 'powerPerf', 'price', 'rank', 'samples', 'socket', 'speed', 'tdp', 'thread', 'threadValue', 'turbo', 'value']`\n - `www.videocardbenchmark.net`:`'bus', 'cat', 'coreClk', 'date', 'g2d', 'g3d', 'href', 'id', 'memClk', 'memSize', 'name', 'output', 'powerPerf', 'price', 'rank', 'samples', 'tdp', 'value']`\n - `www.harddrivebenchmark.net`: `'date', 'diskmark', 'href', 'id', 'name', 'output', 'price', 'rank', 'samples', 'size', 'type', 'value']`\n\nOptional arguments:\n - `order`: can either be \"ascending\" or \"descending\"\n - `limit`: an int, limits the amount of results returned\n - `item_type`: forces a specific value type. Valid values are: `['string', 'number', 'bool', 'size', 'speed', 'date']`\n\nThis returns a list containing all the results, sorted using the specified critera. This also doesn't refresh the cache. \n\n### Getting a specific item based on its id:\n\nYou can get a specific item using `Scraper.get_item(item_id)`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fading2210%2Fpassmark-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fading2210%2Fpassmark-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fading2210%2Fpassmark-scraper/lists"}