web-observatory
web-observatory is a Python package for collecting and analyzing webpages.
See here for extended examples of web-observatory in use.
Modules
start_project
Initializes a project directory
search_google
Searches Google for terms. Google Custom Search Engine credentials required.
google_process
Compiles results from multiple Google searches.
get_domains
Extracts domain-level information from the urls returned by Google searches (e.g. 'google' in www.google.com)
initialize_crawl
Initializes a Scrapy crawl on a set of domains. Returns a JSON file of urls found through the crawl.
crawl_process
Processes the JSON output of a crawl into a pandas DataFrame.
crawl
Not implemented as a module yet, but it can be run through a command like !scrapy crawl digcon_crawler -O output.json --nolog
search_merge
Merges Google searches and crawl results.
get_versions
Gets historical versions of Twitter-searched urls using the Internet Archive's Wayback Machine. Attempts to find the version of the page archived closest in time to when it was tweeted.
Uses the requests package to ping the url and get the "full" address rather than a redirect (e.g. bit.ly/12312). This helps in scraping.
initialize_scrape
Initializes files to scrape urls for their HTML.
scrape
Conducts the scrape of pages' HTML. Stores body text in a Postgresql database.
query
A set of methods for searching the Postgreql database of site text, including filtering empty results and counting specified search terms.
ground_truth
Produces a sample of pages for verifying counts of terms.
analyze_orgs
Calculates and visualizes averages and frequencies for each search term in the site text and summarizes by organization (domain).
analyze_currentuse
Calculate current average and frequency - useful when dealing with historical page versions
analzye_term_correlations
Calculates and visualizes co-variance metrics for specified search terms in the site text.
analyze_association
Associations per terms as measured by % of shared pages
co_occurrence
Returns specific pages using two or more specified search terms.
Issues and Development
Metadata
Release files for web-observatory 1.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| web_observatory-1.2.3.tar.gz | 26.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| web_observatory-1.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.8 kB
Release files / web_observatory-1.2.3.tar.gz
| Download URL | web_observatory-1.2.3.tar.gz |
|---|---|
| Size | 26.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4db281d1f8386378f1b5d87178587d4ad932955ae92824e3da3b3390d578036c
|
|
BLAKE2b-256 checksum How to use checksums |
f5aa8e37e59016c3a3ca30b9e326d30f6540d4e63251326ad01d88a6ce7c638c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2025.
Transparency logRelease files / web_observatory-1.2.3-py3-none-any.whl
| Download URL | web_observatory-1.2.3-py3-none-any.whl |
|---|---|
| Size | 27.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5342539697c70c033bbac5efed5c9542f3632be23765645cd669c21c230f34a0
|
|
BLAKE2b-256 checksum How to use checksums |
621f138f5dc50d76d6fb89e9a13e7c71a2393a3663f7691e4fe606bfa17ceaf3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2025.
Transparency log