NO IMAGE

以前淘寶是有這個功能的,比如就只用在自己收藏的店鋪裡面搜‘面膜’,在自己信賴的店裡直接買東西非常快

但是現在這個功能非常限制= =

所以用selenium和python自己做了一個

step 1:登入淘寶

在之前寫了

step 2:獲取自己收藏夾裡面所有的店鋪資訊

#向下滾動到頁面底部  不然會出錯
driver.execute_script("window.scrollBy(0,document.body.scrollHeight)","")
time.sleep(10)
#獲取一共有多少頁
t = driver.find_element_by_xpath("//*[@id='mercury']/div[2]/div[3]/div/div[2]").text
t = int(re.findall(r'\d ', t)[0])

然後就可以設定迴圈次數,把每一頁收藏夾的店鋪連結給爬下來

for link in driver.find_elements_by_class_name("shop-name-link"):
url = link.get_attribute('href')
print (url)
urls.append(url)

step 3:開啟店鋪連結,點選所有寶貝,搜尋你想要的東西

driver.find_element_by_partial_link_text("所有").click()
driver.find_element_by_xpath("//*[@id='shop-search-list']/div/div[1]/ul/li[1]/input").send_keys(u"你想要的寶貝")
# className不允許使用複合類名做引數  也就是不能有空格
driver.find_element_by_class_name("button").click()

step 4:判斷搜到了多少件  如果是0件,就pass

num = driver.find_element_by_class_name("search-result").text
num = int(re.findall(r'\d ', num)[0])
if (num != 0):
t = driver.find_elements_by_class_name("J_TGoldData")
for it in t:
item = it.get_attribute('href')
print item
items.append(item)

最後的items就是結果啦

psss:僅限於淘寶不適用於天貓哈 天貓會多彈出一個視窗,但是我不怎麼愛在天貓買東西,所以就懶得弄= =  加上也是很簡單的哈,用try catch把搜不出來url的放在一個list裡面,再單獨處理。