声明:由于某些原因,我这里会用手机代替,其实是一样的!环境:windows
python3.6.5模块:time
selenium
re
环境与模块介绍完毕后,就可以来实行我们的操作了。
完整代码:
链接:https://pan.baidu.com/s/1vL59KfVw5QWut9kG_EljeA
提取码:rt9q
(过期后,提醒我补即可!)第一步:
进入淘宝首页:
driver =webdriver.Chrome()driver.get('http://www.taobao.com')
第二步:在输入框中,输入想要查找的商品(keyword),往后用手机代替。
点击搜索按钮
driver.find_element_by_id('q').send_keys(keyword)driver.find_element_by_class_name('btn-search').click()
它会跳转到我们的登陆界面:
我们选择扫码登陆,那么既然要扫码,肯定就需要等待时间。一般提供10S即可,取决于你单身的年龄
time.sleep(10)
登陆后,我们跳转到了 含有信息的页面:
第三步:
提取出我们需要的信息,价格、订单量、商品信息、卖家地址:
很容易发现我们的商品信息都是包括在了class属性为item J_MouserOnverReq的div标签当中。
所以可以写出我们的xpath规则:
info = li.find_element_by_xpath('.//div[@class="row row-2 title"]').text price= li.find_element_by_xpath('.//a[@class="J_ClickStat"]').get_attribute('trace-price') + '元'deal= li.find_element_by_xpath('.//div[@class="deal-cnt"]').textname= li.find_element_by_xpath('.//div[@class="shop"]/a/span[2]').text position= li.find_element_by_xpath('.//div[@class="row row-3 g-clearfix"]/div[@class="location"]').text第四步:
第一页采集完毕后,我们需要进行翻页操作。
记住,这里千万不要去模拟点击下一页,会被反爬虫策略命中!
我们可以构造url,
很容易发现我们的url的步长为44,并且总页数为100。那么我们可以先提取出我们的总页数:
token = driver.find_element_by_xpath('//*[@id="mainsrp-pager"]/div/div/div/div[1]') token=token.text token= int(re.compile('(\d+)').search(token).group(1))
然后循环构造url:
[url=]
[/url] num = 1 while num != token - 1: driver.get('https://s.taobao.com/search?q={}&s={}'.format(keyword, 44 *num)) driver.implicitly_wait(10) drop_down() get_product() num+= 1
[url=]
[/url]效果:
少儿不宜
1813177-20190923161955062-111869.png (247.64 KB, 下载次数: 8)
2019-9-23 18:42 上传
好了今天的教程到此结束,希望对你有所帮助!