SYMBOL INDEX (76 symbols across 9 files) FILE: deepbnb/api/ApiBase.py class ApiBase (line 9) | class ApiBase(ABC): method __init__ (line 11) | def __init__(self, api_key: str, logger: LoggerAdapter, currency: str): method api_request (line 17) | def api_request(self, **kwargs): method build_airbnb_url (line 21) | def build_airbnb_url(path, query=None): method api_key (line 28) | def api_key(self): method _put_json_param_strings (line 32) | def _put_json_param_strings(query: dict): method read_data (line 37) | def read_data(self, response: Response): method _get_search_headers (line 44) | def _get_search_headers(self, response=None) -> dict: FILE: deepbnb/api/ExploreSearch.py class ExploreSearch (line 13) | class ExploreSearch(ApiBase): method __init__ (line 16) | def __init__( method add_search_params (line 33) | def add_search_params(params, response): method api_request (line 58) | def api_request(self, query, params=None, callback=None, response=None... method get_paginated_search_params (line 67) | def get_paginated_search_params(self, response, data): method parse_landing_page (line 84) | def parse_landing_page(self, response): method perform_checkin_start_requests (line 96) | def perform_checkin_start_requests( method _build_date_range (line 146) | def _build_date_range(iso_date: str, range_spec: str): method _get_url (line 162) | def _get_url(self, search_string: str, params: dict = None): FILE: deepbnb/api/PdpPlatformSections.py class PdpPlatformSections (line 13) | class PdpPlatformSections(ApiBase): method __init__ (line 25) | def __init__( method api_request (line 40) | def api_request(self, listing_id: str): method parse_listing_contents (line 94) | def parse_listing_contents(self, response): method _html_to_text (line 180) | def _html_to_text(html: str) -> str: method _render_titles (line 185) | def _render_titles(title_list: list, sep: str = ': ', join=True) -> Un... method _get_amenity_ids (line 194) | def _get_amenity_ids(self, amenities: list): method _get_detail_property (line 200) | def _get_detail_property(self, item, prop, title, prop_list, key): FILE: deepbnb/api/PdpReviews.py class PdpReviews (line 10) | class PdpReviews(ApiBase): method api_request (line 13) | def api_request(self, listing_id: str, limit: int = 7, start_offset: i... method _get_reviews_batch (line 26) | def _get_reviews_batch(self, listing_id: str, limit: int, offset: int): method _get_url (line 44) | def _get_url(self, listing_id: str, limit: int = 7, offset: int = None... method _parse_reviews (line 75) | def _parse_reviews(self, response): FILE: deepbnb/exporter.py class XlsxItemExporter (line 6) | class XlsxItemExporter(BaseItemExporter): method __init__ (line 9) | def __init__(self, file, include_headers_line=True, join_multivalued='... method export_item (line 25) | def export_item(self, item): method finish_exporting (line 38) | def finish_exporting(self): method serialize_field (line 41) | def serialize_field(self, field, name, value): method _build_row (line 46) | def _build_row(values): method _join_if_needed (line 50) | def _join_if_needed(self, value): method _write_headers_and_set_fields_to_export (line 58) | def _write_headers_and_set_fields_to_export(self, item): FILE: deepbnb/items.py class DeepbnbItem (line 11) | class DeepbnbItem(scrapy.Item): FILE: deepbnb/middlewares.py class DeepbnbSpiderMiddleware (line 11) | class DeepbnbSpiderMiddleware(object): method from_crawler (line 17) | def from_crawler(cls, crawler): method process_spider_input (line 23) | def process_spider_input(self, response, spider): method process_spider_output (line 30) | def process_spider_output(self, response, result, spider): method process_spider_exception (line 38) | def process_spider_exception(self, response, exception, spider): method process_start_requests (line 46) | def process_start_requests(self, start_requests, spider): method spider_opened (line 55) | def spider_opened(self, spider): FILE: deepbnb/pipelines.py class BnbPipeline (line 12) | class BnbPipeline: method from_crawler (line 14) | def from_crawler(cls, crawler): method __init__ (line 27) | def __init__( method process_item (line 62) | def process_item(self, item, spider): class ElasticBnbPipeline (line 112) | class ElasticBnbPipeline: method from_crawler (line 116) | def from_crawler(cls, crawler): method __init__ (line 119) | def __init__(self, elasticsearch_index): method process_item (line 123) | def process_item(self, item, spider): class DuplicatesPipeline (line 187) | class DuplicatesPipeline: method __init__ (line 193) | def __init__(self): method process_item (line 196) | def process_item(self, item, spider): FILE: deepbnb/spiders/airbnb.py class AirbnbSpider (line 14) | class AirbnbSpider(scrapy.Spider): method __init__ (line 29) | def __init__( method start_requests (line 62) | def start_requests(self): method __city_search (line 114) | def __city_search(self): method errback (line 125) | async def errback(self, failure): method parse_landing_page (line 129) | async def parse_landing_page(self, response: HtmlResponse, headers: di... method parse (line 149) | def parse(self, response, **kwargs): method _get_neighborhoods (line 178) | def _get_neighborhoods(data): method _collect_listing_data (line 198) | def _collect_listing_data(self, listing_item: dict): method __create_index_if_not_exists (line 235) | def __create_index_if_not_exists(self): method __get_listings_from_sections (line 241) | def __get_listings_from_sections(self, sections: list) -> list: method __get_search_headers (line 273) | def __get_search_headers() -> dict: method __get_price_key (line 292) | def __get_price_key(pricing) -> str: method __get_price_rate (line 296) | def __get_price_rate(pricing) -> int | None: method __get_rate_type (line 304) | def __get_rate_type(pricing) -> str | None: method __get_total_price (line 310) | def __get_total_price(self, pricing) -> int | None: method __find_section (line 328) | def __find_section(sections: list, section_type: str): method _process_checkin_vars (line 332) | def _process_checkin_vars(self) -> tuple: method __set_price_params (line 365) | def __set_price_params(self, price_max, price_min):