Конструкция page = requests.get(переменная из цикла) при переборе из цикла дает левую ссылку

Пишу парсер. Не работает конструкция вида. Ссылка в line - на 100% корректная. Если убираю цикл и запускаю get напрямую с нужной ссылкой - все работает как нужно. При моем коде же возвращается пустой список. Он почему-то вообще какую-то левую страницу нужного мне сайта начинает обрабатывать, хотя ссылка 100% передается верная.

Поиск в гугле дал информацию только о бессмысленной задержке, которая вроде как нужна, но это не подходит в моем случае, page = requests.get(line) - творит какую-то дичь и BeautifulSoup дает мне какую-то другую страницу, вместо нужной (вроде главную, но не уверена).

Пробовала менять .content на .text - это вообще ни на что не влияет, да и в документации я ничего не нашла про эти методы через поиск.

    with open("collection_urls.txt", encoding = 'utf-8') as file:
    for line in file:
        page = requests.get(line)
        #page = requests.get("здесь моя ссылка, которая на 100% идентична ссылки в line")
        urls = BeautifulSoup(page.content, "html.parser")
        collections_urls = urls.findAll("a", class_='product-name ps')
        print(collections_urls)

Ответы (1 шт):

Автор решения: n1tr0xs

Это происходит потому что for line in file дает вам строки такого типа:

https://goole.com/?q=query\n
https://yandex.ru\n

и вот из-за этого \n (перевода строки) сайт не очень понимает что вы от него хотите.
Чтобы это исправить:

for line in file:
   url = line.rstip()
   page = requests.get(line)
   # ну и дальше ваш код
→ Ссылка