Вот сайт: https://www.petco.com/shop/en/petcostore/brand/wholehearted.
Я хочу очистить содержимое каждой страницы. Я пытался сделать это с помощью BeautifulSoup, но я не могу привязать к URL, потому что pageNumber идет после «#». Поэтому я думаю об использовании selenium-webdriver, но я не знаю, как это реализовать.
У меня есть проект с BeautifulSoup.
import requests
from bs4 import BeautifulSoup
# header is made in order to model human behavior;
# parameters are taken from Google Chrome, so it is better to use this script for Chrome browser
headers = { 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
base_url = 'https://www.petco.com/shop/SearchDisplay?categoryId=&storeId=10151&catalogId=10051&langId=-1&sType=SimpleSearch&resultCatEntryType=2&showResultsPage=true&searchSource=Q&pageView=&beginIndex=0&pageSize=24&fromPageValue=search&searchKeyword=&searchTerm='
key_words = ['frontline', 'spot+on', 'ticks', 'anti+fleas', 'fleas', 'antiparasitic', 'pipette']
def petco_parse(base_url, headers):
products = []
urls = []
for key in key_words:
if base_url + key not in urls:
urls.append(base_url + key)
for url in urls:
session = requests.Session()
request = session.get(url, headers=headers)
if request.status_code == 200:
soup = BeautifulSoup(request.content, 'lxml')
divs = soup.find_all('div', attrs={'class': 'product-name'})
for div in divs:
product_name = div.find('a').text.strip()
product_url = div.find('a')['href']
products.append({
'product_name': product_name,
'product_url': product_url
})
if len(products) >= 100:
break
else:
for product in products:
print(product)
else:
print('ERROR\nThe keyword ' + url[251:] + ' does not exist in this shop!')
def main():
petco_parse(base_url, headers)
if __name__ == '__main__':
main()
Я хочу реализовать очистку каждой страницы. Было бы замечательно, если бы существовало решение с использованием BeautifulSoup, но если нет, то селен-webdriver также хорош.