python爬蟲之selenium抓取淘寶商品信息

2020-12-12 侃侃網際網路技術

簡介

本節採用python爬蟲相關技術獲取淘寶商品信息。採用的技術有selenium、pyquery及urllib.parse等。selenium可以模擬用戶執行的操作,是一個自動化測試工具,我們可以根據自己的需要預先設置selenium按照我們設置好的步驟進行操作,而在爬蟲中我們使用selenium可以解決javascript動態執行代碼的問題,不用費心去解析js如何運行,運行後產生的信息,直接使用selenium模擬實際登陸網頁的操作,獲取我們需要的信息進行分析,成功幫我們避開一系列複雜的通信過程,方便使用者。

selenium有優點也有缺點,模擬用戶實際操作,必須等待網頁的必要信息加載完畢,如靜態頁面、css等,所以效率比較低,所以具體看用戶如何取捨,如果注重效率,可以用requests模塊進行分析爬取,後續有空也會採用requests、urllib庫進行爬蟲訓練,使用正則表達式分析爬取到的內容。

環境準備

使用selenium模擬用戶登錄,我採用的是谷歌瀏覽器來進行模擬。首先個人電腦已經正確安裝了谷歌瀏覽器。其次下載與我們谷歌瀏覽器相匹配版本的chromedriver.exe谷歌驅動器。下圖是電腦谷歌瀏覽器地址,然後我們下載對應版本的chromedriver.exe放到python安裝路徑的scripts目錄下。

然後使用下述簡單代碼驗證環境是否準備完畢。

from selenium import webdriver

browser = webdriver.Chrome()

browser.get('淘寶網址或百度網址')

print(browser.page_source)

browser.close()

如果獲取到列印信息,則證明selenium可以在谷歌瀏覽器上正常工作了。接下去需要按F12查看並分析淘寶登錄界面的元素信息(見圖1),獲取輸入框和按鈕的相關信息,以便我們使用selenium模擬用戶登錄,登陸後搜索關鍵信息。

圖1淘寶登陸頁面

流程

淘寶相比其他網站,在反爬蟲方面設置的坎比較多的,包括滑塊驗證,手機驗證碼及頁面刷新等,某個步驟失效,爬蟲過程都有問題。獲取淘寶信息的流程包括:

1、引入用到的爬蟲庫

圖2 引用庫

1、使用個人真實用戶名和密碼登錄淘寶

圖3登陸流程代碼

2、根據關鍵字搜索淘寶網站,爬取搜索到的內容

圖4爬取信息

3、分析爬取的關鍵字信息內容,獲取我們需要的信息

圖5分析信息

4、main調用

LOGIN_URL = '淘寶登陸頁地址'

KEYWORD = '玩具 女孩4歲'

account = 'yourselfAccount'

# 輸入你的帳號名

password = 'yourselfPsw'

pages=5

# 輸入你密碼

Product(account,password,pages).start()

結果

完整代碼運行結果如下圖所示,我們可以對爬取的信息進行分析,作為智能分析算法的訓練數據,如果需要代碼請留言,樂意分享,一起交流。

相關焦點

  • Python網絡爬蟲
    Python網絡爬蟲第一篇(一):為什麼要學習網絡爬蟲?大數據成為當今時代的熱門話題之一,在數據量爆發增長的網際網路時代,網站與用戶溝通實質為數據的交換。如果大量的數據得以分析,我們能夠對事件的看法,解決方案做出更好的決策。
  • PythonPython100個練手項目
    淘寶模擬登錄    2. 天貓商品數據爬蟲    3. 爬取淘寶我已購買的寶貝數據    4. 每天不同時間段通過微信發消息提醒女友    5. 爬取5K解析度超清唯美壁紙    6.新浪微博爬蟲分享(一天可抓取 1300 萬條數據)    12. 新浪微博分布式爬蟲分享    13. python爬蟲教程,帶你從零到一    14. 豆瓣讀書的爬蟲    15. 鏈家網和貝殼網房價爬蟲    16.
  • 如何快速學會Python爬蟲(入門篇)
    一、爬蟲入門Python爬蟲入門一之綜述2. Python爬蟲入門二之爬蟲基礎了解3. Python爬蟲入門三之Urllib庫的基本使用4. Python爬蟲入門四之Urllib庫的高級用法5. Python爬蟲入門五之URLError異常處理6.
  • 開課吧Python:Python爬蟲是什麼?爬蟲工程師薪資怎麼樣?
    Python爬蟲是由Python程序開發的網絡爬蟲(webspider,webrobot),是按照一定規則自動抓取全球資訊網信息的程序或腳本。其實一般是通過程序在網頁上獲取你想要的數據,也就是自動抓取數據。為什麼需要用爬蟲?
  • 8個Python爬蟲框架,你用過幾個?
    8個Python爬蟲框架,你用過幾個? Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。。用這個框架可以輕鬆爬下來如亞馬遜商品信息之類的數據。
  • 小白學 Python 爬蟲(11):urllib 基礎使用(一)
    (1):開篇小白學 Python 爬蟲(2):前置準備(一)基本類庫的安裝小白學 Python 爬蟲(3):前置準備(二)Linux基礎入門小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門小白學 Python 爬蟲(5):前置準備(四)資料庫基礎小白學 Python 爬蟲(6):前置準備(五)爬蟲框架的安裝
  • 小白學 Python 爬蟲(21):解析庫 Beautiful Soup(上)
    爬蟲(3):前置準備(二)Linux基礎入門小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門小白學 Python 爬蟲(5):前置準備(四)資料庫基礎小白學 Python 爬蟲(6):前置準備(五)爬蟲框架的安裝小白學 Python 爬蟲(7):HTTP 基礎小白學 Python 爬蟲(8):網頁基礎
  • 代理IP可以提高爬蟲工作效率嗎?
    代理ip是網絡爬蟲中的一部分,各個網站都會有龐大的數據信息和每天的更新,個個網站也對自己的網站加強自我保護及信息流失,增加了網站反爬蟲機制,在網站加以限制的情況下,如何通過爬蟲在這種情況下加速的爬取,有效的提高工作效率。
  • 聊聊學python轉行、具體學習方法、自學python用於辦公、寫爬蟲等...
    一:關於轉行學python的情況之前有朋友看了我一篇關於用python爬蟲採集信息分析網際網路職位的文章,加我,然後問我說:學python數據分析能恰飯不?」然後我就問他說:「你說的恰飯是什麼意思呢?是找工作?還是自己做點東西?或者是接私活?」
  • Python基礎進階之海量表情包多線程爬蟲功能的實現
    這篇文章主要介紹了Python基礎進階之海量表情包多線程爬蟲,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑑價值,需要的朋友可以參考下一、前言在我們日常聊天的過程中會使用大量的表情包
  • 小白學 Python 爬蟲(24):2019 豆瓣電影排行
    爬蟲(3):前置準備(二)Linux基礎入門小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門小白學 Python 爬蟲(5):前置準備(四)資料庫基礎小白學 Python 爬蟲(6):前置準備(五)爬蟲框架的安裝小白學 Python 爬蟲(7):HTTP 基礎小白學 Python 爬蟲(8):網頁基礎
  • 入門Python爬蟲——獲取數據篇
    首先,在爬蟲中最常見的代碼便是:即引入requests庫,是一切爬蟲程序的基礎。在Python中,有許多庫可以供我們使用。這也是Python相對於其它程式語言的一大優勢。在這裡需要注意,不是所有伺服器都會歡迎爬蟲程序。建議大家在運行爬蟲程序前先去查一下相應網站的Robots協議,了解一下哪些頁面是可以抓取的。而查看Robots協議的方式也很簡單,只需在網站域名後加上/robots.txt就可以了。
  • 簡單講解價值1K的Python爬蟲外包案例
    對於這個外包給予的網站信息,那麼我們就爬取選擇第一個吧獵聘網>,也就簡單實現,並不會進行打包處理,以及輸入關鍵字爬取,因為打包以及輸入關鍵詞爬取數據
  • Python爬蟲模擬登陸嗶哩嗶哩(bilibili)並突破點選驗證碼功能
    寫在前面今天帶給大家一個突破點選驗證碼的案例,利用爬蟲模擬登陸嗶哩嗶哩,並且把一些採坑的地方給大家強調一下!一、需求分析模擬登陸嗶哩嗶哩網站連結: https://passport.bilibili.com/login效果圖如下:驗證成功後會自動跳轉B站的登錄界面,為了保護我的信息安全
  • Python網頁爬蟲工具有哪些?
    不管文本處理,機器學習和數據發掘,都需求數據,除了通過一些途徑購買或者下載的專業數據外,常常需求我們自己著手爬數據,爬蟲就顯得分外重要。那麼,Python網頁爬蟲東西有哪些呢?1、ScrapyScrapy相Scrapy, a fast high-level screen scraping and web crawling framework for Python.信不少同學都有耳聞,課程圖譜中的許多課程都是依託Scrapy抓去的,這方面的介紹文章有許多,引薦大牛pluskid早年的一篇文章:《Scrapy 輕鬆定製網絡爬蟲》,歷久彌新。
  • Python網絡爬蟲(第二篇)
    靜態網頁抓取一:什麼是靜態網頁?靜態網頁:在網站設計中,純粹的HTML格式的網頁就稱為靜態網頁。在網絡爬蟲中,靜態網頁的數據都呈現在HTML代碼中,所以比較容易獲取。在抓取靜態網頁數據中,有一個強大的Requests庫能夠讓你輕易的發送HTTP請求。操作起來也非常簡單。
  • 推薦四個網絡爬蟲抓包神器
    目前市面上比較不錯的網絡爬蟲抓包工具有Fiddler、charles、Anyproxy和mitmproxy等。有人可能會問,何為網絡爬蟲?首先,網絡爬蟲它是一種程序,它的樣子如同一個大蜘蛛.它將網絡上全部的連結和內容進行查索,建立相關的資料庫並引入。往往較好的爬蟲將會決定搜尋引擎的質量。CharlesCharles是一款macOS上的一款抓包分析工具之一。當然他也支持windows和linux。
  • 新時代的力量——Python
    而 Python 在人工智慧領域內的機器學習、神經網絡、深度學習等方面,都是主流的程式語言網絡爬蟲Python 語言很早就用來編寫網絡爬蟲。Google 等搜尋引擎公司大量地使用 Python 語言編寫網絡爬蟲什麼是網絡爬蟲?
  • Python最佳學習路線,強烈建議收藏轉發關注
    五大應用人工智慧,機器學習數據分析爬蟲web開發自動化測試第二階段Web全棧Web前端相關技術HTML,CSS,UI基礎,Java,DOM,事件,jQuery,混合開發第三階段數據分析+人工智慧學習數據抓取