Веб-сайту требуется местоположение при создании веб-страницы

#python-3.x #beautifulsoup

#python-3.x #beautifulsoup

Вопрос:

У меня возникли некоторые проблемы с выяснением, почему я не могу снять цену с веб-сайта Lowes. Приведенный ниже текст с комментариями — это попытки получить цену, которые я уже пробовал. Программа для сбора цен, которую я сейчас использую, выводит «Введите ваше местоположение», что наводит меня на мысль, что я должен указать веб-сайту свое местоположение, чтобы получить цену. Что бы вы сделали, чтобы противодействовать этому?

 import requests
from bs4 import BeautifulSoup

url = 'https://www.lowes.com/search?searchTerm=2x4'

r = requests.get(url)

html = r.text

soup = BeautifulSoup(html, 'lxml')

product_container = soup.find_all('div',{'class':'product-wrapper-right'})

i = 0

for product in product_container:
    soup2 = BeautifulSoup(str(product), 'lxml')

    productName = product.div.a.p.text
    print(productName)

    priceContainer = soup2.find("div", {"class":"product-pricing"})
    productPrice = priceContainer.div.text
    print(productPrice)

    productURL = product.div.a.get('href')
    print("lowes.com"   productURL)
    i = i 1


    #productPrice = product.div.div.span.text
    #print(productPrice)

    #soup3 = soup2.find('div', {"class":"product-pricing"})
    #productPrice = soup3.div.span.text
    #print(productPrice)

    #step1 = product.find_all('div')[1]
    #step2 = step1.find_all('div')[1]
    #productPrice = step2.span.text
    #print(productPrice)
  

Весь текст с комментариями также не смог в той или иной степени отразить цену. Я ожидаю, что каждый из них напечатает цену, но все они возвращают скобки, слова «Введите свое местоположение», слово «Нет».

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

1. Похоже, что страница создается динамически. Я попытался найти API URL запроса, чтобы узнать, можете ли вы опубликовать какое-либо местоположение, но не смог его найти. Вы могли бы попробовать использовать что-то вроде Selenium, хотя, поскольку это может сработать.

2. @chitown88, спасибо за совет. Я рассмотрю возможность включения этого в программу.