1. 程式人生 > >Python爬蟲入門——3.6 Selenium 爬取淘寶資訊

Python爬蟲入門——3.6 Selenium 爬取淘寶資訊

上一節我們介紹了Selenium工具的使用,本節我們就利用Selenium跟Chrome瀏覽器結合來爬取淘寶相關男士羽絨服商品的資訊,當然你可以用相同的方法來爬取淘寶其他商品的資訊。我們要爬取羽絨服的價格、圖片連線、賣家、賣家地址、收貨人數等資訊,並將其儲存在csv中

from selenium import webdriver
#from selenium.webdriver.chrome.options import Options
#from selenium.webdriver import ActionChains
from lxml import etree
import time

#配置Chrome Headless模式
#chrome_options = Options()
#chrome_options.add_argument('--headless')
#chrome_options.add_argument('--disable-gpu')
#指定瀏覽器
#driver = webdriver.Chrome(chrome_options = chrome_options)
#定義瀏覽器,為有頭模式
driver = webdriver.Chrome()
#將瀏覽器頁面最大化
driver.maximize_window()


#主程式
if __name__ == "__main__":
    #淘寶登入介面
    url = 'https://login.taobao.com/member/login.jhtml'
    driver.get(url)
    driver.implicitly_wait(10)
    #讓程式休眠10秒,在這期間,彈出登入介面之後,你就可以使用你的手機掃碼登入淘寶了
    #其實也可以使用活動滑塊來驗證,但是我總是不成功,所以只能用掃碼來驗證了
    time.sleep(10)
    #定位索索狂,並將其清除
    driver.find_element_by_id('q').clear()
    #在搜尋框內輸入“羽絨服'
    driver.find_element_by_id('q').send_keys('羽絨服')
    #休息兩秒,免得被發現為爬蟲
    time.sleep(2)
    #點選搜尋按鈕
    driver.find_element_by_xpath('//*[@id="J_TSearchForm"]/div[1]/button').click()
    #休息兩秒
    time.sleep(2)
    #driver.find_element_by_xpath('//*[@id="J_relative"]/div[1]/div/ul/li[2]/a').click()
    #點選來源於“ 天貓 ” 按鈕
    driver.find_element_by_xpath('//*[@id="tabFilterMall"]').click()
    #休息兩秒
    time.sleep(2)
    #點選 “ 銷量最高按鈕 ”
    driver.find_element_by_xpath('//*[@id="J_relative"]/div[1]/div/ul/li[2]/a').click()
    #休息兩秒
    time.sleep(2)
    #列印當前頁面的URL
    print(driver.current_url)
    # 解析網頁
    html = etree.HTML(driver.page_source)
    # 利用xpath尋找大迴圈。
    items = html.xpath('//div[@class="item J_MouserOnverReq  "]')
    for item in items:
        #利用xpath 進行小迴圈,列印銷量排名靠前的店家名稱
        shop = item.xpath('div[2]/div[3]/div[1]/a/span[2]/text()')[0]
        print(shop)
  1. 首先匯入需要用到的庫 。帶  “ # ”的表示為headless模式
  2. 指定瀏覽器為 Chrome,這裡採用有頭模式,一方面你可以觀察Selenium跟瀏覽器是如何配合使用,然後自動搜尋商品資訊的,另一方面,由於淘寶存在反扒機制:即你必須登入才能搜尋到相關資訊。所以我們的開始頁面是淘寶的登入頁面,https://login.taobao.com/member/login.jhtml  等截面彈出來之後,你只需要通過你的手機淘寶掃碼登入即可。不要頻繁登入,否則淘寶還會啟動其他反扒機制。
  3. 其餘解釋,原始碼中已經作為註釋存在了,關於  xpath 可能沒有詳細解釋,其實就跟 正則表示式 類似,但是在網頁結構更加複雜,需要爬取大量資料的情況下,建議使用 xpath 來提取資訊。關於 xpath ,我們明天會進行簡單介紹

相關推薦

Python爬蟲入門——3.6 Selenium 資訊

上一節我們介紹了Selenium工具的使用,本節我們就利用Selenium跟Chrome瀏覽器結合來爬取淘寶相關男士羽絨服商品的資訊,當然你可以用相同的方法來爬取淘寶其他商品的資訊。我們要爬取羽絨服的價格、圖片連線、賣家、賣家地址、收貨人數等資訊,並將其儲存在csv中 fr

爬蟲實例之selenium美食

獲取 web tex 匹配 ive cati def presence dea 這次的實例是使用selenium爬取淘寶美食關鍵字下的商品信息,然後存儲到MongoDB。 首先我們需要聲明一個browser用來操作,我的是chrome。這裏的wait是在後面的判斷元素是

Python爬蟲入門之豆瓣短評

採用工具pyCharm,python3,工具的安裝在這就不多說了,之所以採用python3是因為python2只更新維護到2020年。 新建python專案 File-Settings-project interpreter,點右上角+號,安裝requests,lx

Python爬蟲入門教程 42-100 兒歌多多APP數據-手機APP爬蟲部分

如何 分類 提取 地址 一個 本科 fiddler 系列 案例 1. 兒歌多多APP簡單分析 今天是手機APP數據爬取的第一篇案例博客,我找到了一個兒歌多多APP,沒有加固,沒有加殼,沒有加密參數,對新手來說,比較友好,咱就拿它練練手,熟悉一下Fiddler和夜神模擬器是如

【Python3 爬蟲學習筆記】動態渲染頁面 4 —— 使用Selenium商品

並不是所有頁面都可以通過分析Ajax來完成抓取。比如,淘寶,它的整個頁面資料確實也是通過Ajax獲取的,但是這些Ajax介面引數比較複雜,可能會包含加密祕鑰等,所以如果想自己構造Ajax引數,還是比較困難的。對於這種頁面,最方便快捷的抓取方法就是通過Seleni

我要爬蟲(11)-用selenium商品資訊

思路就是用selenium操作瀏覽器,訪問淘寶,輸入關鍵詞,查詢,用pyquery解析目標資訊,翻頁,儲存到mongodb. 函式定義三個: 1 開啟瀏覽器,查詢初始化,翻頁 from selenium import webdriver from se

python +selenium 網商品資訊

      前幾天用python爬取豆瓣關於電影《長城》的影評,發現豆瓣的網頁是靜態的,心中一陣竊喜。以為對於動態網頁瞭解的不是太多。但是主要是用cookie加headers爬取的。效果還不錯,爬取了六七萬條網友的評價,後期主要打算研究一下,如何發現那些使用者是水軍。今天研

selenium美食

display cts win clas .get cto 分享 element nal ‘‘‘利用selenium爬取淘寶美食網頁內容‘‘‘ import re from selenium import webdriver from selenium.common.

scrapy結合selenium等動態網站

ice 網站 -i war 原因 def exe imp span 1.首先創建爬蟲項目 2.進入爬蟲 class TaobaoSpider(scrapy.Spider): name = ‘taobao‘ allowed_domains = [‘taobao.c

利用selenium美食內容

pycharm pid dea int mpi bubuko Go con port 1、啟動pycharm 首先咱們新建一個項目名字大家可以自己設定 接著新建一個spider.p文件 #author: "xian" #date: 2018/5/4 import re #

scrapy+selenium

SM end nts items 參數 lang 組元 accept .get # -*- coding: utf-8 -*- import scrapy from scrapy import Request from urllib.parse import quote

PYTHON 爬蟲筆記十:利用selenium+PyQuery實現美食數據搜集並保存至MongeDB(實戰項目三)

pre pager 淘寶 NPU group color 存在 pan rgs 利用selenium+PyQuery實現淘寶美食數據搜集並保存至MongeDB 目標站點分析 流程框架 爬蟲實戰 spider詳情頁 import pymongo im

利用Selenium商品信息

支持 down oca ace element 掃描 coo name implicit 一. Selenium和PhantomJS介紹 Selenium是一個用於Web應用程序測試的工具,Selenium直接運行在瀏覽器中,就像真正的用戶在操作一樣。由於這個性質,Sel

Selenium:商品

from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By

使用scrapy和selenium結合 資訊

首先,發現淘寶資訊是需要進行下拉載入資訊,否則商品資訊為空 因此,在middleware.py中設定: class ScrapyseleniumspiderDownloaderMiddleware(object): # def __init__(self):

使用Selenium商品

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditi

使用selenium店鋪資訊

使用selenium +PhantomJS()/Chrome爬取 淘寶頁面,儲存到mongdb中使用config進行一些設定MONGO_URL = 'localhost'MONGO_DB = 'taobao'MONGO_TABLE = 'product'# 將圖片設定為不下載

利用selenium商品資訊

# coding: utf-8from selenium import webdriverimport time# 1.建立瀏覽器物件driver = webdriver.Firefox()# 2.開啟淘寶首頁driver.get('http://www.taobao.com

通過selenium +headless瀏覽器資訊

開始使用的是phantomJS瀏覽器 但是出現警告,所以換成火狐的無頭瀏覽器,也可以使用谷歌的 from selenium import webdriver from selenium.webdriver.firefox.options import Options f

Selenium商品概要入mongodb

enum style div location 如果 ces tex select target 準備: 1.安裝Selenium:終端輸入 pip install selenium 2.安裝下載Chromedriver:解壓後放在…\Google\Chr