Skip to main content

TrustPilotReader

Unofficial TrustPilot reviews collector. For Academic Use Only. READ: TrustPilot Terms of Use

Disclamer:

You, and you alone, are responsible for following TrustPilot terms and using this tool to gather their data. Respect their servers and be thoughtful when gathering large amount of data.

Unmatured Documetation :)

This code implements basic data scraping of TrustPilot [default:Danish] Reviews .

It is a prototype to be used for academic reasons only. TrustPilot offers APIs to gather their data

Get it from PyPI

pip install trustpilotreviews

How to use it:

Import package

from trustpilotreviews import GetReviews

1. Initiat Class

Initiate the class with either (a) passing a dictionary of companies as keys and companies TrustPilot id as items or (b) adding them with dictionary syntax.

e.g.

# way a: Using dictionary with business ids
id_dict = {'Skat':'470bce96000064000501e32d','DR':'4690598c00006400050003ee'}
d = GetReviews(id_dict)

# ids dictionary can be loaded from text files e.g.
lines = np.genfromtxt('data/business_ids.csv', delimiter=',',
                            dtype=str,skip_header=1) #skipped header
csv_dict = {key:item for key, item in lines}
d = GetReviews(csv_dict)

# way b: Using dictionary assignment 
d = GetReviews()
d['Skat'] = '470bce96000064000501e32d'

No business ids, no problem:

from trustpilotreviews import GetReviews

# Initiate it. Language will be required
t = GetReviews()

# Pass in web-page address as it appears in trustpilot.com
mate_id = t.get_id('www.mate.bike')

# Check if everything is ok
if mate_id.ok:
    print(mate.business_id)

# Gather data from that id
data = t.get_reviews() 
    

Having multiple websites, well, no problem:

from trustpilotreviews import GetReviews

t = GetReviews()

# pass multiple web-pages as a list
ids = t.get_ids(['www.ford.dk','www.mate.bike'])

print(ids) # same as print(t) as ids are added to que

# gather data for those ids  
data = t.get_reviews()   

Want to save it on a database instead of Pandas, done:

from trustpilotreviews import GetReviews

t = GetReviews()
ids = t.get_ids(['www.ford.dk','www.mate.bike'])

# mine data for those ids 
t.get_reviews()

# send them to in memory database
t.send_db('../data/','reviews')   

2. Reading Data

df = pd.DataFrame(t.dictData)

or from stored source

df = pd.read_pickle('TrustPilotData.pkl')

A full example:

import numpy as np
from trustpilotreviews import GetReviews


# Dictionary from Data 
lines = np.genfromtxt('companies_ids.csv', delimiter=',',
                      dtype=str, skip_header=1)
csv_dict = {key: item for key, item in lines}

d = GetReviews(csv_dict) # Select no for Norwegian Reviews
d.gather_data()

# Saves as pandas dataframe pickle
d.save_data(file_name='NoTrustPilotData')

TODOs:

  • Allow different saving formats e.g. df.to_XXX
  • Split page_review funciton into connection and data parsing (better way to handler bad requests)
  • Add more features
  • Write a better documetation

TrustPilot Terms of Use

c091684c-879c-4d6e-90c6-92fbc53cb676

Release files for trustpilotreviews 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trustpilotreviews 0.1.2
File Size Uploaded
trustpilotreviews-0.1.2.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trustpilotreviews 0.1.2
File Interpreter ABI Platform
trustpilotreviews-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 16.6 kB

Release files / trustpilotreviews-0.1.2.tar.gz

Download URL trustpilotreviews-0.1.2.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
522449da496d0a556a35a10779581532b3abbada525746584be6db761a1bdaef
BLAKE2b-256 checksum
How to use checksums
f4e8486ba44de22a8348939a387274da71d9067dfaf191499a0d40f83db6967e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.16 CPython/3.7.3 Linux/4.18.0-21-generic

Release files / trustpilotreviews-0.1.2-py3-none-any.whl

Download URL trustpilotreviews-0.1.2-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a831dfc334e1fd2af6473adff32278ddd46366341ce626b637fb665615c7ca6
BLAKE2b-256 checksum
How to use checksums
23bb6d158741041a15b22f5ed0e5a4a5087eab23301801ede8852f22aae44615
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.16 CPython/3.7.3 Linux/4.18.0-21-generic

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page