按照关键词获取亚马逊对应的asin

py 代码:

from requests_html import HTMLSession
import pandas as pd

url = 'https://www.amazon.co.uk/s?k=nvme+1tb'

s = HTMLSession()
r = s.get(url)
r.html.render(sleep=1)
items = r.html.find('div[data-asin]')

asins = []

for item in items:
    if item.attrs['data-asin'] != '':
        asins.append(item.attrs['data-asin'])

products = []

for asin in asins:
    url = f'https://www.amazon.co.uk/dp/{asin}'
    s = HTMLSession()
    r = s.get(url)
    r.html.render(sleep=1)

    title = r.html.find('#productTitle', first=True).full_text.strip()
    try:
        price = r.html.find('#priceblock_saleprice', first=True).full_text
    except:
        price = r.html.find('#priceblock_ourprice', first=True).full_text

    rating = r.html.find('span.a-icon-alt', first=True).full_text
    reviews = r.html.find('#acrCustomerReviewText', first=True).full_text

    product = {
        'title': title,
        'price': price,
        'rating': rating,
        'reviews': reviews
        }

    products.append(product)
    print('Grabbed ASIN', asin)

df = pd.DataFrame(products)
df.to_csv('ssd.csv', index=False)

  

 

 

done

 

posted @ 2025-03-13 17:48  liskov_design  阅读(29)  评论(0)    收藏  举报