Веб-сайт нуждается в местоположении, в то время как webscraping - PullRequest
0 голосов
/ 29 марта 2019

У меня возникли проблемы с выяснением, почему я не могу соскрести цену с сайта 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)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...