Python составить адресную строку имея параметры из задания

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2023

У меня задание: взять данные из базы, (состоит из отчётов, выгруженных по Wildberries API) - база Prost(изменено) HOST=89.108.115.211(хост изменен) PORT=5433 DATABASE=u115241_resyrt_ba(изменено) USERNAME=значение PASSWORD=значение Выполнение кода зависает, я не могу понять, как решить эту проблему. Во первых, мне не понятно, как правильно на информации из задания составить url, есть два значения, которые я не понимаю, куда подставлять (название базы Prost и параметр DATABASE=u115241_resyrt_ba (изменено)). Во-вторых, почитала на сайте Wildberries API, в каком расширении выгружается файл, указано .epf В задании не указано, в каком формате скачаны данные, и я не нашла информацию, как с этим разобраться. Пожалуйста, прошу подсказок тех, кто уже решал подобные задачи. Я пробовала разные варианты и сейчас остановилась на таком куске кода.

import requests
import numpy as np
import pandas as pd
from bs4 import BeautifulSoup
import datetime as dt 
import csv
import re
import string
from urllib.request import urlopen
from urllib.error import HTTPError

from getpass import getpass
headers = requests.utils.default_headers()

headers.update(
    {
        'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4',
    }
)
requests.get('http://89.108.115.211:5433/', headers =headers, auth=('u115241.....', getpass()))

Ответы

▲ 0

по рекомендации @DiMithras делала запрос pd.read_sql() - разрывает соединение. Переделала с помощью psycopg2, присоединилась, прошло успешно. Сейчас понимаю, если коннект прошел, то на удаленном сервере база SQL. Но не получается сделать выборку.

`

import psycopg2
    from psycopg2 import OperationalError
    def create_connection(database, username, password, db_host, db_port):
        connection = None
        try:
            connection = psycopg2.connect(
                database=database,
                user=username,
                password=password,
                host=db_host,
                port=db_port,
            )
            print("Connection to PostgreSQL DB successful")
        except OperationalError as e:
            print(f"The error '{e}' occurred")
        return connection
    
    connection = create_connection(database, username,password,db_host,db_port)# внесла свои данные
    def execute_read_query(connection,query):
        cursor = connection.cursor()
        result = None
        try:
            cursor.execute(query)
            result = cursor.fetchall()
            return result
        except OperationalError as e:
            print(f"The error '{e}' occurred")
    
    select_ = "SELECT table_name FROM u115241_test_ba.tables"
    bd = execute_read_query(connection,select_)

` Пишет, что отношение "u115241_test_ba.tables" не существует. Уменя в задании написано, что база Postgres и параметры для подключения HOST=89.108.115.241
PORT=5433
DATABASE=u115241_test_ba