Skip to content

Repository files navigation

PCPartPicker-API

Python3 API for retrieving information from PcPartPicker

What can this API do?

Currently this library contains these features:

  • Select what region you want to use ("uk", "ca", etc.)

  • The productLists class - for interacting with pages that are lists of products, as seen under the "browse by individual parts" tab on the PCPartPicker website (such as products/cpu-cooler). All product lists are supported except the ones under the SOFTWARE catergory, although those may be supported in the future

Installation

pip install PCPartPicker_API

See the PyPi page here

Quickstart

A quick demonstration of what this API can do

# Import pcpartpicker# Imported here as pcpp to makes lines a little shorterfromPCPartPicker_APIimportpcpartpickeraspcpp# Print the total amount of pages for CPUsprint("Total CPU pages:", pcpp.productLists.totalPages("cpu"))
# Pull info from page 1 of CPUscpu_info=pcpp.productLists.getProductList("cpu", 1)
# Print the names and prices of all the CPUs on the pageforcpuincpu_info:
print(cpu["name"], ":", cpu["price"])
# Change the region to UK (the default is US)pcpp.setRegion("uk")
print("\nRegion changed to UK")
# Pull info from all CPU pages (this may take a minute)cpu_info_uk=pcpp.productLists.getProductList("cpu")
# Print the names and prices of all the CPUs on all pages# The prices will now be in GBP (£) instead of USD ($)forcpuincpu_info_uk:
print(cpu["name"], ":", cpu["price"])

Documentation

To start using the API, import pcpartpicker from PCPartPicker_API

A list of partTypes and their dictionary keys are available in _productsData

pcpartpicker contains these (public) functions:

Function nameParamatersDescription
setRegionregionThe region of PCPartPicker that this API uses. region must be one of: "au", "be", "ca", "de", "es", "fr", "in", "ie", "it", "nz", "uk", "us", case insesetive. The defualt is for this library is "us". As far as I can tell this only changes the currency
productLists.getListpartType, pageNum=0This function returns a list of dictionaries. Each partType will have different dictionary keys. To see what keys exist for each partType, you can look them up in _productsData. Every dictionary will always contain the keys name, price, ratings and id (although they may not always have a value). pageNum is set to 0 by default. 0 means it will scrape all pages and gather all the info it can. If you only want to get information from, for example, page 2 of the cpu results, you would set pageNum to 2
productLists.totalPagespartTypeThis function simply returns the amount of pages of results there are for a particular partType

ToDo

  • Support the SOFTWARE catergory in pcpartpicker.productLists

About

An unofficial API to access & scrape data from pcpartpicker.com

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages