Выскабливание названий продуктов Amazon - PullRequest
1 голос
/ 20 марта 2019

Я пытаюсь собрать первые две страницы названия продуктов на Amazon на основе имени продавца. Когда я запрашиваю страницу, она содержит все необходимые мне элементы, однако, когда я использую BeautifulSoup - их нет в списке. Вот мой код:

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent':'Mozilla/5.0'}
res = requests.get("https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=ATVPDKIKX0DER", headers=headers)
#print(res.text)
soup = BeautifulSoup(res.text, "html.parser")
soup.find_all("a",href=True)

Ссылки товаров не указаны. Если API Amazon предоставляет эту информацию, я открыт для ее использования (приведите несколько примеров ее использования). Большое спасибо заранее.

1 Ответ

0 голосов
/ 21 марта 2019

Я извлек названия продуктов из атрибута alt.Это как задумано?

import requests
from bs4 import BeautifulSoup as bs

r = requests.get('https://www.amazon.com/s?me=A3WE363L17WQR&marketplaceID=ATVPDKIKX0DER')
soup = bs(r.content, 'lxml')
items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
print(items)

На двух страницах:

import requests
from bs4 import BeautifulSoup as bs
url = 'https://www.amazon.com/s?i=merchant-items&me=A3WE363L17WQR&page={}&marketplaceID=ATVPDKIKX0DER&qid=1553116056&ref=sr_pg_{}'
for page in range(1,3):
    r = requests.get(url.format(page,page))
    soup = bs(r.content, 'lxml')
    items = [item['alt'] for item in soup.select('.a-link-normal [alt]')]
    print(items)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...