Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

#path_to_mordor

Package to organization scraping based on bs4.

Simple example.

<!-- language: lang-py -->
"""
The module contains the rules of scraping.
"""
from ptm import Frodo
from ptm.path_actions import gpagins, gpages, gresults
from ptm.result_actions import KeyRealtionships, gvalues, gtexts, gattrs
from treasy import BookSearchDB
from treasy.session import create_session
from smithy.preparing import prepare

RESORCE = 'http://www.labirint-bookstore.ru'
START_PAGE = 'http://www.labirint-bookstore.ru/books'

def result_proccessing(result_set):
"""
This function proccess the results.
"""
db = BookSearchDB(create_session())
result = prepare(result_set, {'name': 'labirint-bookstore', 'url': 'http://www.labirint-bookstore.ru'})
print(result)
description = result['description'].split('||')
if len(description) > 2:
result['description'] = description[2].strip()
db.update_book(result)

KEY_RELATIONSHIPS = KeyRealtionships({
'ISBN:': 'isbn_numbers',
'Издательство:': 'publisher',
'Автор:': 'authors',
'Переводчик:': 'translators',
'Иллюстратор': 'illustrators',
'Серия:': 'series',
'Жанр:': 'genres',
'Год выпуска:': 'year',
'Тип обложки:': 'cover_format',
'Страниц:': 'page_number',
'Масса:': 'weidth',
'Размеры:': 'size',
'Иллюстратор:': 'illustrators'})

RESULTS = {
KEY_RELATIONSHIPS: gvalues(gtexts('div', attrs={'class': 'book-info-left'}),
gtexts('div', attrs={'class': 'book-info-right'})),
'description': gtexts('div', attrs={'id': 'bigcard-description'}, separator="||"),
'title': gattrs('img', attrs={'class': 'img-cover-book'}, target_attribute='alt')
}

PATH = {
gpagins(pagin_template='?page=', start_page_number=1, finish_page_number=10): {
gpages('div', attrs={'class': 'books-name'}):
gresults(result_proccessing, result_map=RESULTS)
}
}

def run(rucksack):
"""
Run travel. This function triggers scraping.
"""
frodo = Frodo(RESORCE, START_PAGE, PATH, rucksack)
frodo.run()

Release files for ptm 0.0.1a4

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

Source distribution (sdist)

Source distribution for ptm 0.0.1a4
File Size Uploaded
ptm-0.0.1a4.tar.gz 12.6 kB Details

Built distribution (wheel)

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

Total release size: 34.0 kB

Release files / ptm-0.0.1a4.tar.gz

Download URL ptm-0.0.1a4.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
8faeb4b4dab5fadb71c34f4b943567ce131572ea0dc333329fa1eb6889ef68df
BLAKE2b-256 checksum
How to use checksums
76abde343801648f0031d0ac389c9f6ab4f6e09d4d494879d7e26183c38c941d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ptm-0.0.1a4-py3-none-any.whl

Download URL ptm-0.0.1a4-py3-none-any.whl
Size 21.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
830b2f5df5da65891afe00b04d4ee1b9a18c2104d696e96fab661d709b725ba7
BLAKE2b-256 checksum
How to use checksums
0b6794f3310ff758c9d0344b3f855813a99c80a21726453827bfdda0e9f96781
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
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