Skip to main content

TQ-scroll-scrape is a library for downloading web pages via Selenium.

Project description

Scroll-Scraper

Python library for automating scrolling and downloading web pages via Selenium. This is especially useful for pages that utilize infinite scrolling.

Usage

Using ChromeDriver

Download ChromeDriver from https://chromedriver.chromium.org/downloads. Choose the version that matches the Chrome browser running on your system.

Using GeckoDriver for Firefox

Download GeckoDriver for Firefox from https://github.com/mozilla/geckodriver/releases.

Install Package

Install the package by running pip install tq-scroll-scrape.

Use the Package

Here is sample code demonstrating how to download a page:

from tq_scroll_scrape.scroll_and_scrape import ScrollAndScrape

url = "https://www.espn.com/"
driver_path = "{PATH TO DRIVER EXECUTABLE}"
scroll_scraper = ScrollAndScrape(driver_path)
scroll_scraper.download(url)
scroll_scraper.driver.close()
scroll_scraper.driver.quit()

This library will scroll the page until it reaches the end. The scroll height can be controlled by passing the scroll_by kwarg. If omitted the value of document.body.scrollHeight is used.

To give items the chance to render, the library will wait before scrolling again. The wait time can be controlled via the sleep_after_scroll_seconds parameter. If omitted, the default value is two seconds.

The example below scrolls the page by 500 pixels, waiting 5 seconds between each scroll.

from tq_scroll_scrape.scroll_and_scrape import ScrollAndScrape

driver_path = "{PATH TO DRIVER EXECUTABLE}"
scroll_scraper = ScrollAndScrape(driver_path)
downloader.download(url, sleep_after_scroll_seconds=5, scroll_by=500)
downloader.driver.close()
downloader.driver.quit()

Post-download Processing

The download function accepts a callback that executes after the page is downloaded. The page source is passed into the callback. The example below saves the downloaded page to an html file.

from tq_scroll_scrape.scroll_and_scrape import ScrollAndScrape


def save_file(source: str):
    with open("espn.html", "w") as file:
        file.write(source)


url = "https://www.espn.com/"
driver_path = "{PATH TO DRIVER EXECUTABLE}"
scroll_scraper = ScrollAndScrape(driver_path)
downloader.download(url, save_file)
downloader.driver.close()
downloader.driver.quit()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

tq_scroll_scrape-4.0-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file tq_scroll_scrape-4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tq_scroll_scrape-4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4eabb3035dfba76d222526aba1964b0d6e9ea5b6ea6140bf1695c74dfc139cd
MD5 59ecd94d09160021d86bf65faaf326e5
BLAKE2b-256 370fb07d8c08c4e7c6beb379df488723d9961d6462cab1e29b6a321adfd18d12

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page