以前淘寶是有這個功能的,比如就只用在自己收藏的店鋪裡面搜‘面膜’,在自己信賴的店裡直接買東西非常快
但是現在這個功能非常限制= =
所以用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裡面,再單獨處理。
写评论
很抱歉,必須登入網站才能發佈留言。