Не удается успешно передать файлы cookie сеанса входа в систему в метод класса с использованием Python

#python #authentication #web-scraping #cookies #python-requests

#python #аутентификация #веб-очистка #файлы cookie #python-запросы

Вопрос:

У меня есть веб-страница, на которой мне нужно войти в web scrape product price

Итак, у меня есть класс с моим методом синтаксического анализа, который я вызываю после успешного входа в систему.

Но я получаю только страницу без цены, поэтому я получаю объект NoneType, на который нельзя подписаться

 class Parser(object):
    ses = requests.Session()

    def parse(self, urls):
        url = urls[1]

        try:
            r = self.ses.get(url)
            sleep(3)
            if r.status_code == 200:
            
                Myhtml = r.text

                soup = BeautifulSoup(Myhtml, 'html.parser')
                print('Get Soup..')
                price = soup.find('span', attrs={'itemprop': 'price'})
                availability = soup.select_one('div.availability > span')['class'][0]

                #Checking Conditions                    

                data = [urls[0], price_text, availability_text]

                return data

            else:
                print(r.status_code.text)

        except TypeError as e:
            print(e)
            return []
        except IndexError as e:
            print(e)
            return []
        except AttributeError as e:
            print(e)
            return []
        except Exception as e:
            print(str(e))
            return []

if __name__ == "__main__":

    print('Starting..')

    browser = webdriver.Chrome('C:\chromedriver.exe')

    browser.get('https://www.acihellas.gr/login')

    #LOGIN PROCESS Passing Username and Password into form

    s = requests.Session()

    parser = Parser()
    parser.ses = s

    browser.quit()


    for link in web_links:
        parser.parse(link)

    #export to csv
  

Я не знаю, является ли это полезной информацией, но в момент

 r = self.ses.get(url) 
  

у ses есть два файла cookie, после этого у r есть один файл cookie

Что я здесь делаю не так? Я попробовал способ

  cookies = browser.get_cookies()
    for cookie in cookies:
        s.cookies.set(cookie['name'], cookie['value'])
  

Но опять тот же результат
Как сохранить файл cookie аутентификации для каждого URL, который я хочу проанализировать?

Комментарии:

1. Не могли бы вы опубликовать URL-адрес

2. Это URL -адрес входа acihellas.gr/login

3. итак, ваша проблема в том, что вы не можете успешно войти в систему?

4. Проблема в том, что я успешно вхожу в систему, но в запросе url r = self.ses.get(url) использует не файл cookie аутентифицированного входа, а исходный файл cookie, поэтому в результате я ничего не получаю