環境:
- windows
- python3.6.5
模塊:
- time
- selenium
- re
開發環境與需要用到的第三方模塊介紹完畢後,開始我們的操作吧。
第一步:
進入官網首頁:
<code>driver = webdriver.Chrome()
driver.get('http://www.taobao.com')/<code>
第二步:
- 在輸入框中,輸入想要查找的商品
- 點擊搜索按鈕
<code>driver.find_element_by_id('q').send_keys(keyword)
driver.find_element_by_class_name('btn-search').click()/<code>
然後會跳轉到登陸界面:
我們選擇掃碼登陸,這個操作需要佔用一定的時間,考慮到手速,那就保持延遲10秒吧
<code>time.sleep(10)/<code>
登陸後,自動跳轉到信息頁面:
第三步:
提取出信息,價格、訂單量、商品信息、賣家地址:
商品信息在class屬性為item J_MouserOnverReq 的div標籤中。
寫出我們的xpath提取規則:
<code> 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"]').text
name = 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/<code>
第四步:
第一頁採集完畢後,進行翻頁操作。
我們可以構造url:
可以看到url的步長為44,並且總頁數為100。先提取出我們的總頁數:
<code> 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))/<code>
然後循環構造url:
<code> 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/<code>
效果:
閱讀更多 青燈教育Python學院 的文章