Я создаю программу на Python, которая использует парсинг веб-страниц для проверки наличия товара на складе. Код представляет собой скрипт Python 3.9, использующий Beautiful Soup 4 и запрашивающий информацию о доступности элемента. В конечном итоге я бы хотел, чтобы программа выполняла поиск по нескольким веб-сайтам и нескольким ссылкам на каждом сайте, чтобы мне не приходилось одновременно запускать кучу сценариев. Ожидаемый результат программы таков:
200
0
In Stock
Но я получаю:
200
[]
Out Of Stock
Значение «200» означает, что код может получить доступ к серверу, а ожидаемый результат — 200. «0» — это логическое значение, позволяющее узнать, есть ли товар на складе. Ожидаемый ответ — «0» для «В наличии». Я указал как товары в наличии, так и товары, которых нет в наличии, и они оба дают одинаковый ответ: 200 [] Нет в наличии. У меня такое ощущение, что что-то не так с out_of_stock_divs внутри def check_item_in_stock, потому что именно здесь я получаю результат [], когда он обнаруживает доступность элементаВчера у меня код работал правильно, но я продолжал добавлять функции (например, парсинг нескольких ссылок и разных веб-сайтов), но это сломало его, и я не могу вернуть его в рабочее состояние
Вот код программы. (Я основал этот код на коде г-на Арьи Будае на его веб-сайте https://aryaboudaie.com/. Однако я избавился от его текстовых уведомлений, потому что планирую просто запустить его на запасном компьютере рядом со мной и иметь издает громкий звук, это будет реализовано позже.)
from bs4 import BeautifulSoup
import requests
def get_page_html(url):
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"}
page = requests.get(url, headers=headers)
print(page.status_code)
return page.content
def check_item_in_stock(page_html):
soup = BeautifulSoup(page_html, 'html.parser')
out_of_stock_divs = soup.findAll("text", {"class": "product-inventory"})
print(out_of_stock_divs)
return len(out_of_stock_divs) != 0
def check_inventory():
url = "https://www.newegg.com/hp-prodesk-400-g ... 7ABC996974"
page_html = get_page_html(url)
if check_item_in_stock(page_html):
print("In stock")
else:
print("Out of stock")
while True:
check_inventory()
time.sleep(60)```
Подробнее здесь: https://stackoverflow.com/questions/644 ... s-in-stock
Использование веб-скрапинга для проверки наличия товара на складе ⇐ Python
Программы на Python
-
Anonymous
1732542349
Anonymous
Я создаю программу на Python, которая использует парсинг веб-страниц для проверки наличия товара на складе. Код представляет собой скрипт Python 3.9, использующий Beautiful Soup 4 и запрашивающий информацию о доступности элемента. В конечном итоге я бы хотел, чтобы программа выполняла поиск по нескольким веб-сайтам и нескольким ссылкам на каждом сайте, чтобы мне не приходилось одновременно запускать кучу сценариев. Ожидаемый результат программы таков:
200
0
In Stock
Но я получаю:
200
[]
Out Of Stock
Значение «200» означает, что код может получить доступ к серверу, а ожидаемый результат — 200. «0» — это логическое значение, позволяющее узнать, есть ли товар на складе. Ожидаемый ответ — «0» для «В наличии». Я указал как товары в наличии, так и товары, которых нет в наличии, и они оба дают одинаковый ответ: 200 [] Нет в наличии. У меня такое ощущение, что что-то не так с out_of_stock_divs внутри def check_item_in_stock, потому что именно здесь я получаю результат [], когда он обнаруживает доступность элементаВчера у меня код работал правильно, но я продолжал добавлять функции (например, парсинг нескольких ссылок и разных веб-сайтов), но это сломало его, и я не могу вернуть его в рабочее состояние
Вот код программы. (Я основал этот код на коде г-на Арьи Будае на его веб-сайте https://aryaboudaie.com/. Однако я избавился от его текстовых уведомлений, потому что планирую просто запустить его на запасном компьютере рядом со мной и иметь издает громкий звук, это будет реализовано позже.)
from bs4 import BeautifulSoup
import requests
def get_page_html(url):
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"}
page = requests.get(url, headers=headers)
print(page.status_code)
return page.content
def check_item_in_stock(page_html):
soup = BeautifulSoup(page_html, 'html.parser')
out_of_stock_divs = soup.findAll("text", {"class": "product-inventory"})
print(out_of_stock_divs)
return len(out_of_stock_divs) != 0
def check_inventory():
url = "https://www.newegg.com/hp-prodesk-400-g5-nettop-computer/p/N82E16883997492?Item=9SIA7ABC996974"
page_html = get_page_html(url)
if check_item_in_stock(page_html):
print("In stock")
else:
print("Out of stock")
while True:
check_inventory()
time.sleep(60)```
Подробнее здесь: [url]https://stackoverflow.com/questions/64415735/using-web-scraping-to-check-if-an-item-is-in-stock[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия