按照关键词获取亚马逊对应的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
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号