Как очистить элементы этого сайта с помощью красивого супа?

Привет, я пытаюсь очистить все продукты на этом сайте. https://segari.id/

Однако URL-адрес статичен, и суп, когда я пытался очистить его, не работает на этом сайте. Даже если это так, как мне бесконечно прокручивать вниз, чтобы получить предметы? Каков рекомендуемый способ очистки всех предметов?

Вот мой текущий код:

#user agent

from fake_useragent import UserAgent
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime

def userAgent(URL):
    dateNow = datetime.date(datetime.now())
    ua = UserAgent()
    USER_AGENT = ua.random
    headers = {"User-Agent" : str(USER_AGENT),"Accept-Encoding": "*","Connection": "keep-alive"}
    print(USER_AGENT)
    resp = requests.get(URL, headers=headers)
    soup = BeautifulSoup(resp.content, "html.parser")
    if resp.status_code != 200:
        print(f'error 200:{URL}')
        urlError = pd.DataFrame({'url':[URL],
                                'date':[dateNow] 
                                })
        responseCode=500
        urlError.to_csv('errorUrl/errorUrl.csv', mode='a', index=False, header=False)
    elif resp.status_code == 200:
        responseCode=200
    return soup,responseCode

#scraping component
URL = https://segari.id/
soup = userAgent(URL)
title = soup.find_all('div', {"class":"ProductCard_productName__1fPfF"})
listTitle=[]
for t in title:
    listTitle.append(t)
list = pd.DataFrame(listTitle)
<noscript>You need to enable JavaScript to run this app.</noscript> Это означает, что красивому супу нечего будет найти, поскольку он не поддерживает javascript~ Что-то вроде Selenium может приблизиться к этому.
BeRT2me 10.05.2022 19:07

спасибо за информацию, я попробую объединить суп и веб-драйвер селена, отредактирую вопрос как можно скорее с помощью супа и селена.

Evans Gunawan 10.05.2022 19:12
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете получить данные, используя только модуль requests, поскольку данные динамически загружаются Javascript из API, вызывающего ответ json вместе с методом GET.

import requests
data = requests.get('https://api-v2.segari.id/v1.1/products/price?agentId=311&size=40&page=0&paginationType=slice&deliveryDate=2022-05-12&deliveryServiceType=NEXT_DAY_DELIVERY&availableDeliveryDates=2022-05-12,2022-05-13,2022-05-14').json()
for item in data['data']['data']:
    title=item['productDTO']['name']
    print(title)

Выход:

Ayam Broiler Probiotic Utuh
Ayam Broiler Utuh Premium
Ayam Kampung Utuh
Dada Ayam Boneless Frozen
Fillet Ayam
Paha Ayam Boneless Frozen
Kentang Dieng AB
Kentang Rendang
Kurma Ajwa Curah
Kurma Tunisia
Kurma Tunisia 500 gram
Lemon Import Imperfect
Pear Xiang Lie Imperfect
Ayam Giling
Bone Marrow Sum Sum Sapi Lokal     
Daging Kerang Hijau
Daging Sapi Import Giling
Daging Sapi Import Gulai Value Pack
Ikan Gabus Laut Fillet
Tulang Kaldu Sapi Lokal
Bumbu Ayam Garam Qian Ji
Beras Putih 1 kg Cap Bunga Setra Ramos
Ikan Dori Fillet
ABC Squash Delight Syrup Orange 460 ml Bundle 3
Ampela Ayam
Anggur Crimson
Anggur HIjau Autumn Crisp
Anggur Hijau Calmeria
Anggur Merah Red Globe Premium
Apel Envy
Apel Fuji
Apel Fuji Rosy Blush
Apel Fuji Wang Shan
Ati Ayam
Ayam Broiler Potong 4
Ayyomi Telur Ayam Kampoeng
Ayyomi Telur Ayam Negeri
Ayyomi Telur Omega 3
Baby Buncis Kenya
Bawang Bombay

Другие вопросы по теме