您的位置:首页 > 其它

【实践】淘宝在收藏店铺里搜宝贝

2017-11-22 23:46 393 查看
以前淘宝是有这个功能的,比如就只用在自己收藏的店铺里面搜‘面膜’,在自己信赖的店里直接买东西非常快

但是现在这个功能非常限制= =

所以用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里面,再单独处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: