Issue
I'v been trying to scraping https://www.uniqlo.com/tw/zh_TW/women_tops_long-and-3-4sleeves-and-cardigan.html by selenium.
driver.get('https://www.uniqlo.com/tw/zh_TW/c/ALL020000024.html')
WebDriverWait(driver, 30, 0.5).until(
EC.presence_of_element_located((By.CLASS_NAME, 'picture-img')))
time.sleep(20)
a = driver.find_elements(By.CLASS_NAME, 'product-li')
print("a: ",a,"\n")
results = []
It has 20 products that we want. And we want to find the detail information of these products. So we use get_attribute.
for x in a:
time.sleep(10)
src = x.find_element(By.CLASS_NAME, 'picture-img').get_attribute('src')
alt = x.find_element(By.CLASS_NAME, 'picture-img').get_attribute('alt')
print("src: ",src )
print("alt: ",alt)
result = {
'src': src,
'slt': alt,
}
results.append(result)
But the loop break down. It only get the 1 to 8 products' attribute. There are actually 20 elements in list a, why we only got some of the attributes not all of them? enter image description here
Solution
Just get the data straight from the source:
import requests
from datetime import datetime
import pandas as pd
url = 'https://www.uniqlo.com/tw/zh_TW/data/pages/women_tops_long-and-3-4sleeves-and-cardigan.html.json'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'
}
payload = {
't':str(int(datetime.now().timestamp()))}
jsonData = requests.get(url, headers=headers, params=payload).json()
items = jsonData['section08']['props']['items']
basic_info_df = pd.DataFrame(items)
rows = []
for productCode in list(basic_info_df['productCode']):
print(productCode)
url = f'https://www.uniqlo.com/tw/data/products/prodInfo/zh_TW/{productCode}.json'
jsonData = requests.get(url, headers=headers).json()
rows.append(jsonData)
full_df = pd.DataFrame(rows)
Output:
print(full_df.to_string())
originPrice score inactive mainPic minSize stock hasStock gDeptValue priceColor colorList evaluationCount minPrice name maxPrice code maxSize enabledFlag identity approval sex fullName label timeLimitedBegin productCode timeLimitedEnd
0 990.0 0.0 N /hmall/test/u0000000011533/main/first/1000/1.jpg S Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '06 GRAY', 'colorNo': 'COL06'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}] 0 990.0 特級彈性DRY T恤 +S 990.0 447126 XL Y [new_product] LIST 女裝 女裝 特級彈性DRY T恤 +S 447126 new_product u0000000011533
1 590.0 0.0 N /hmall/test/u0000000011620/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '10 PINK', 'colorNo': 'COL10'}, {'styleText': '30 NATURAL', 'colorNo': 'COL30'}, {'styleText': '50 LIGHT GREE', 'colorNo': 'COL50'}, {'styleText': '71 PURPLE', 'colorNo': 'COL71'}] 0 590.0 華夫格圓領T恤(長袖) 590.0 444514 3XL Y [new_product] LIST 女裝 女裝 華夫格圓領T恤(長袖) 444514 new_product u0000000011620
2 790.0 5.0 N /hmall/test/u0000000011478/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '41 YELLOW', 'colorNo': 'COL41'}, {'styleText': '62 BLUE', 'colorNo': 'COL62'}] 1 790.0 圓領短版休閒上衣(長袖) 790.0 444533 3XL Y [new_product] LIST 女裝 女裝 圓領短版休閒上衣(長袖) 444533 new_product u0000000011478
3 590.0 0.0 N /hmall/test/u0000000011503/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '42 YELLOW', 'colorNo': 'COL42'}, {'styleText': '65 BLUE', 'colorNo': 'COL65'}, {'styleText': '69 NAVY', 'colorNo': 'COL69'}] 0 590.0 女裝條紋寬版T恤(長袖) 590.0 444516 3XL Y [new_product] LIST 女裝 女裝 女裝條紋寬版T恤(長袖) 444516 new_product u0000000011503
4 790.0 4.6316 N NaN S Y Y 女裝 red [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '30 NATURAL', 'colorNo': 'COL30'}, {'styleText': '58 DARK GREEN', 'colorNo': 'COL58'}, {'styleText': '68 BLUE', 'colorNo': 'COL68'}] 19 390.0 HEATTECH棉質 中高領T恤 (長袖) 390.0 441587 3XL Y [concessional_rate] LIST 女裝 女裝 HEATTECH棉質 中高領T恤 (長袖) 441587 concessional_rate u0000000010558
5 590.0 4.3636 N /hmall/test/u0000000010146/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '17 RED', 'colorNo': 'COL17'}, {'styleText': '34 BROWN', 'colorNo': 'COL34'}, {'styleText': '69 NAVY', 'colorNo': 'COL69'}] 11 590.0 條紋寬版T恤 (長袖) 590.0 442793 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 條紋寬版T恤 (長袖) 442793 EXTENDED SIZE u0000000010146
6 4990.0 3.3333 N /hmall/test/u0000000011297/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}] 3 4990.0 +J 絲質領結上衣 (長袖) 4990.0 446290 XXL Y [EXTENDED SIZE] LIST 女裝 女裝 +J 絲質領結上衣 (長袖) 446290 EXTENDED SIZE u0000000011297
7 4990.0 5.0 N /hmall/test/u0000000011257/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '34 BROWN', 'colorNo': 'COL34'}, {'styleText': '76 PURPLE', 'colorNo': 'COL76'}] 1 4990.0 +J 絲質上衣 (長袖) 4990.0 446577 XXL Y [EXTENDED SIZE] LIST 女裝 女裝 +J 絲質上衣 (長袖) 446577 EXTENDED SIZE u0000000011257
8 990.0 4.6667 N /hmall/test/u0000000011030/main/first/1000/1.jpg XS Y Y 女裝 red [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '31 BEIGE', 'colorNo': 'COL31'}, {'styleText': '57 OLIVE', 'colorNo': 'COL57'}] 15 490.0 White Mountaineering 刷毛寬版中高領上衣 (長袖) (品牌好友穿著款) 490.0 443226 3XL Y [concessional_rate] LIST 女裝 女裝 White Mountaineering 刷毛寬版中高領上衣 (長袖) (品牌好友穿著款) 443226 concessional_rate u0000000011030
9 590.0 4.963 N NaN XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '03 GRAY', 'colorNo': 'COL03'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '31 BEIGE', 'colorNo': 'COL31'}, {'styleText': '32 BEIGE', 'colorNo': 'COL32'}, {'styleText': '65 BLUE', 'colorNo': 'COL65'}, {'styleText': '78 PURPLE', 'colorNo': 'COL78'}] 27 590.0 柔軟針織圓領 泡芙袖T恤 (長袖) 590.0 439142 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 柔軟針織圓領 泡芙袖T恤 (長袖) 439142 EXTENDED SIZE u0000000010990
10 590.0 4.6 N /hmall/test/u0000000011073/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '12 PINK', 'colorNo': 'COL12'}, {'styleText': '68 BLUE', 'colorNo': 'COL68'}, {'styleText': '76 PURPLE', 'colorNo': 'COL76'}] 5 590.0 HEATTECH 彈性刷毛圓領T恤 (長袖) 590.0 440267 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 HEATTECH 彈性刷毛圓領T恤 (長袖) 440267 EXTENDED SIZE u0000000011073
11 590.0 4.4 N /hmall/test/u0000000011100/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '07 GRAY', 'colorNo': 'COL07'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '12 PINK', 'colorNo': 'COL12'}, {'styleText': '31 BEIGE', 'colorNo': 'COL31'}, {'styleText': '34 BROWN', 'colorNo': 'COL34'}, {'styleText': '66 BLUE', 'colorNo': 'COL66'}, {'styleText': '69 NAVY', 'colorNo': 'COL69'}] 5 590.0 HEATTECH 刷毛高領T恤 (長袖) 590.0 442063 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 HEATTECH 刷毛高領T恤 (長袖) 442063 EXTENDED SIZE u0000000011100
12 590.0 4.5909 N /hmall/test/u0000000009255/main/first/1000/1.jpg XS Y Y 女裝 black [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '30 NATURAL', 'colorNo': 'COL30'}, {'styleText': '32 BEIGE', 'colorNo': 'COL32'}] 22 590.0 華夫格圓領T恤 (長袖) 590.0 439067 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 華夫格圓領T恤 (長袖) 439067 EXTENDED SIZE u0000000009255
13 390.0 4.75 N NaN XS Y Y 女裝 black [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '02 LIGHT GRAY', 'colorNo': 'COL02'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '29 DARK ORANGE', 'colorNo': 'COL29'}, {'styleText': '47 YELLOW', 'colorNo': 'COL47'}, {'styleText': '69 NAVY', 'colorNo': 'COL69'}] 12 390.0 彈性柔滑棉圓領T恤 (長袖) 390.0 439062 3XL Y [EXTENDED SIZE] LIST 女裝 女裝 彈性柔滑棉圓領T恤 (長袖) 439062 EXTENDED SIZE u0000000009304
14 390.0 5.0 N /hmall/test/u0000000010162/main/first/1000/1.jpg S Y Y 女裝 black [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '07 GRAY', 'colorNo': 'COL07'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '17 RED', 'colorNo': 'COL17'}] 1 390.0 彈性柔滑棉 高領T恤 (長袖) 390.0 439063 XXL Y [EXTENDED SIZE] LIST 女裝 女裝 彈性柔滑棉 高領T恤 (長袖) 439063 EXTENDED SIZE u0000000010162
15 590.0 4.8095 N NaN L Y Y 女裝 red [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}] 21 390.0 柔滑棉 設計下擺T恤 (長袖) 390.0 439065 L Y [concessional_rate] LIST 女裝 女裝 柔滑棉 設計下擺T恤 (長袖) 439065 concessional_rate u0000000009305
16 590.0 4.375 N NaN XS Y Y 女裝 red [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '10 PINK', 'colorNo': 'COL10'}] 16 190.0 棉質羅紋短版開襟外套 (長袖) (品牌好友穿著款) 190.0 446249 3XL Y [concessional_rate] LIST 女裝 女裝 棉質羅紋短版開襟外套 (長袖) (品牌好友穿著款) 446249 concessional_rate u0000000009409
17 390.0 4.1111 N /hmall/test/u0000000009878/main/first/1000/1.jpg XS N N 女裝 red [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '08 DARK GRAY', 'colorNo': 'COL08'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '12 PINK', 'colorNo': 'COL12'}, {'styleText': '31 BEIGE', 'colorNo': 'COL31'}, {'styleText': '66 BLUE', 'colorNo': 'COL66'}] 9 190.0 羅紋方領T恤 (長袖) 190.0 445628 3XL Y [concessional_rate] LIST 女裝 女裝 羅紋方領T恤 (長袖) 445628 concessional_rate u0000000009878
18 790.0 4.6667 N /hmall/test/u0000000008087/main/first/1000/1.jpg XS N N 女裝 red [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '18 WINE', 'colorNo': 'COL18'}] 6 390.0 喬其紗印花荷葉邊上衣(長袖) 390.0 443345 3XL Y [concessional_rate] DELIST 女裝 女裝 喬其紗印花荷葉邊上衣(長袖) 443345 concessional_rate u0000000008087
19 790.0 4.3158 N /hmall/test/u0000000008124/main/first/1000/1.jpg XS N N 女裝 red [{'styleText': '01 OFF WHITE', 'colorNo': 'COL01'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}] 19 390.0 印花V領澎袖上衣 (長袖) (品牌好友穿著款) 390.0 439736 3XL Y [concessional_rate] LIST 女裝 女裝 印花V領澎袖上衣 (長袖) (品牌好友穿著款) 439736 concessional_rate u0000000008124
20 790.0 3.8 N /hmall/test/u0000000010858/main/first/1000/1.jpg XS Y Y 女裝 red [{'styleText': '00 WHITE', 'colorNo': 'COL00'}, {'styleText': '04 GRAY', 'colorNo': 'COL04'}, {'styleText': '09 BLACK', 'colorNo': 'COL09'}, {'styleText': '11 PINK', 'colorNo': 'COL11'}, {'styleText': '55 GREEN', 'colorNo': 'COL55'}] 5 390.0 Dry-EX 圓領T恤 (長袖) 390.0 442388 3XL Y [concessional_rate] LIST 女裝 女裝 Dry-EX 圓領T恤 (長袖) 442388 concessional_rate u0000000010858
Answered By - chitown88
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.