Я пытаюсь очистить сайт, на котором есть ссылки на Amazon, с помощью Python, используя эти фреймворки - селен, красивый суп.
Моя цель - очистить следующие сведения о продуктах Amazon -> Название, цена, описание, первый обзор
Но у меня проблемы с красивыми селекторами. Я пробовал много комбинаций, но получаю либо нулевой вывод, либо ошибку, к сожалению, не так, как Pro. Основная проблема в том, что Beautiful soup не имеет селекторов XPath (AFAIK). Должен ли я перейти на scrapy для этой задачи, или scrapy слишком утомителен для этого простого скребка?
Это первый продукт, который я повторю позже.
from bs4 import BeautifulSoup
from selenium import webdriver
import time
driver.get('https://www.example.com')
driver.get('https://www.example.com')
first_article = driver.find_element_by_css_selector('div.button')
first_article.click()
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
# perform the operation
После этого мне нужно выбрать соответствующий путь, но как это сделать? В Xpath это примерно так,
Title = '//h1[@id="title"]//text()'
Price = '//span[contains(@id,"ourprice") or contains(@id,"saleprice")]/text()'
Category = //a[@class="a-link-normal a-color-tertiary"]//text()'
А вот подробностей о продукте и пути к первому обзору пока не могу. Я думаю, что красивые селекторы find_all здесь не помогут.
html = driver.page_source soup.xpath('//*[@id="title"]') soup.xpath('//*[@id="title"]')
, но получил эту ошибку - ›Объект« NoneType »не может быть вызван, почему этот объект не может быть вызван? - person Abhijeet Pal   schedule 08.06.2018