天天看點

利用selenium爬取淘寶商品資訊

# coding: utf-8

from selenium import webdriver

import time

# 1.建立浏覽器對象

driver = webdriver.Firefox()

# 2.打開淘寶首頁

driver.get('http://www.taobao.com')

# 3.找到搜尋輸入框

search_ele = driver.find_element_by_id('q')

# 4.輸入搜尋關鍵詞

search_ele.send_keys(u'筆記本電腦')

# 5.找到搜尋按鈕

search_btn = driver.find_element_by_class_name('btn-search')

# 6.點選按鈕

search_btn.click()

# 打開檔案

file_handle = open('shops.txt','w')

for i in range(1, 11):

    print '正在爬取第%s頁資料.......'%i

    # 讓浏覽器滾動,加載資料

    for x in range(1,11,2):

        # 暫停1秒再開始滾動

        time.sleep(0.5)

        j = x/10.0

        # %f float小數類型的占位符

        js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f'%j

        # 執行js代碼

        driver.execute_script(js)

    # 浏覽器滾動結束之後,取出資料

    # 找到所有的class名稱為info-cont的标簽

    shops = driver.find_elements_by_class_name('info-cont')

    # for循環周遊清單,取出每一個商品資訊

    for shop in shops:

        # 寫入資料  編碼

        file_handle.write(shop.text.encode('utf-8'))

        # 寫入換行符

        file_handle.write('\n\n')

    # 查找下一頁

    next_page = driver.find_element_by_link_text('下一頁')

    next_page.click()

# 關閉檔案

file_handle.close()

===========================================================

# coding: utf-8

# 打開cmd指令行  輸入pip install selenium 下載下傳包

# 從selenium中引入webdriver

from selenium import webdriver

# 引入時間子產品

import time

# 1.建立浏覽器對象,并打開浏覽器

driver = webdriver.Firefox()

# 2.在浏覽器中通路網址

driver.get('http://www.baidu.com')

# 目前頁的網頁源代碼

# print driver.page_source

# 根據id查找某個标簽

# element = driver.find_element_by_id('kw')

# # 輸入搜尋關鍵詞

# element.send_keys(u'淘寶')

# 通過id找到百度一下按鈕

news_link = driver.find_element_by_link_text('新聞')

# # 執行點選操作

news_link.click()

# 程式休眠3秒

time.sleep(3)

# 退出浏覽器

driver.quit()

# element 不加s 找到的是一個标簽

# driver.find_element_by_id()  # 根據id查找

# driver.find_element_by_class_name()  # 根據class查找

# driver.find_element_by_css_selector()  # 根據css選擇器查找

# driver.find_element_by_name()  # 根據name查找

# driver.find_element_by_link_text() # 根據連結文本查找

# elements 查找多個符合條件的标簽,并且傳回一個清單

# rs = driver.find_elements_by_class_name('mnav')

# print rs

繼續閱讀