成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教師節送什么?Python教你挑選禮物

開發 后端 新聞
又到了一年一度的教師節,每次教師節大家都會煩惱不知道送什么禮物?尤其是對于理工男來說,更是一個讓人頭大的問題。我今天就和大家分享一個用Python爬取淘寶商品信息的項目,希望可以給大家選禮物時提供一個參考。

 又到了一年一度的教師節,每次教師節大家都會煩惱不知道送什么禮物?尤其是對于理工男來說,更是一個讓人頭大的問題。我今天就和大家分享一個用Python爬取淘寶商品信息的項目,希望可以給大家選禮物時提供一個參考。

[[276394]]

1.爬取目標

本次項目利用selenium抓取淘寶商品信息,用selenium語法來獲取商品信息、價格、購買人數、圖片、以及店鋪的名字,最后再把獲取的信息儲存在MongoDB中。

2.準備工作

在開始本次項目前,首先你要確保正確安裝好Chome瀏覽器并配置好對應版本的ChromeDriver;另外,還需要正確安裝Python的selenium庫和pymongo庫;最后還要在電腦上安裝好MongoDB。

3.下面給出Windows下安裝selenium、pymongo、MongoDB的方法

selenium:

 

  1. pip install selenium   || pip3 install selenium 

pymongo:

 

  1. pip install pymongo || pip3 install pymongo 

MongoDB:

由于MongoDB現在版本比較多,3.0和4.0安裝方法存在差異,我下載的是3.x版本的,安裝和配置都比較簡單,所以,我也建議大家安裝和使用3.x版本的。

下載鏈接:

https://www.mongodb.com/download-center/community

ChromeDriver下載鏈接:

https://chromedriver.storage.googleapis.com/index.html

這里下載的ChromeDriver版本要和你下載的谷歌瀏覽器的版本相一致,否則程序運行會出現錯誤。下載完后將ChromeDriver.exe放到你Python安裝路徑下的Scripts中即可。

4.提取單頁商品信息

獲取各個元素用到的是selenium語法的

 

  1. find_element_by_xpath() 

括號中需要填入各元素的Xpath路徑。

  • 獲取商品信息

 

代碼如下:

 

  1. 'info' : li.find_element_by_xpath('.//div[@class="row row-2 title"]').text 
  • 獲取價格信息

 

代碼如下:

 

  1. 'price' : li.find_element_by_xpath('.//a[@class="J_ClickStat"]').get_attribute('trace-price') + '元' 
  • 獲取付款人數

 

代碼如下:

 

  1. 'deal' : li.find_element_by_xpath('.//div[@class="deal-cnt"]').text 
  • 獲取圖片

 

 

代碼如下:

 

  1. 'image' : li.find_element_by_xpath('.//div[@class="pic"]/a/img').get_attribute('src'
  • 獲取店鋪名字

 

代碼如下:

 

  1. 'name' : li.find_element_by_xpath('.//div[@class="shop"]/a/span[2]').text 

5.提取多頁商品信息

經過上面的分析,只能爬取一頁的商品信息,我們想獲取多頁信息,就需要先定義一個函數,將總頁數提取出來,代碼如下

 

  1. #提取總頁數 
  2. def search(): 
  3.     driver.find_element_by_id('q').send_keys('python'
  4.     driver.find_element_by_class_name("tb-bg").click() 
  5.     time.sleep(10) 
  6.     token 
  7. = driver.find_element_by_xpath( 
  8. '//*[@id="mainsrp-pager"]/div/div/div/div[1]' 
  9. ).text 
  10.     token = int(re.compile('\d+').search(token).group(0)) 
  11.     return token 

6.向下滑動頁面

我們都知道selenium用來抓取動態渲染的頁面非常有效,我們在抓取頁面信息時,需要模擬人來操作下拉、翻頁等操作。

對于下拉操作,有爬蟲基礎的可能會想到用selenium模擬的操作,但本次項目我們用js語法來模擬下拉,這樣做的好處就是不容易被淘寶的反爬機制識別,代碼如下

 

  1. def drop_down(): 
  2.     for x in range(1,11,2): 
  3.         time.sleep(0.5) 
  4.         j = x/10           #滑動到的位置 
  5.         js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight * %f' %j 
  6.         driver.execute_script(js) 

同理,我們也定義一個函數來模擬翻頁,代碼如下

 

  1. def next_page(): 
  2.     token = search() 
  3.     num = 0 
  4.     while num != token - 1: 
  5.         driver.get('https://s.taobao.com/search?q={}&s={}'.format(keyword,44*num)) 
  6.         driver.implicitly_wait(10)  #隱式等待 
  7.         num += 1 
  8.         drop_down() 
  9.         get_product() 

翻頁編寫時,需要注意,我在代碼加入了keyword,意思就是可以根據你自己的需求,爬取不同種類的商品信息。

7.將數據保存至MongoDB

 

  1. def save_to_mongo(result): 
  2.     try: 
  3.         if db[MONGO_COLLECTION].insert(result): 
  4.             print('儲存到MongoDB成功'
  5.     except  Exception: 
  6.         print('儲存到MongoDB失敗'

8.結果展示

 

總結

這次用selenium爬取淘寶商品信息,代碼邏輯框架如下

 

由于我能力有限,暫時只能實現這么多功能,下一步準備對MongoDB儲存的數據進行分析,這樣就完成了從數據爬取——數據儲存——數據分析一個完整的過程。

最后,祝所有的老師們:教師節快樂!

責任編輯:華軒 來源: python學習日志
相關推薦

2010-09-08 11:16:57

2009-09-08 21:17:44

2013-09-10 17:14:54

學霸瀏覽器

2011-02-15 09:33:46

AMD英特爾情人節

2018-05-13 15:43:37

大數據母親節禮物

2018-09-10 10:20:35

阿里巴巴人事馬云

2011-07-21 09:33:53

2018-10-29 15:41:16

二手硬件處理器

2021-05-09 18:04:05

Python母親祝福

2017-02-24 19:32:39

微博數據Python

2012-11-21 21:08:22

2011-09-13 09:08:53

新聞回顧

2020-02-13 13:50:28

Python數據Excel

2017-05-11 10:06:46

手環

2014-06-12 09:53:55

802.11acAP無線局域網

2012-06-01 10:06:11

Linux六一兒童節

2019-09-23 10:04:26

抖音識別器Github

2015-10-12 15:21:57

桌面云/銳捷網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产91久久久久蜜臀青青天草二 | 国产免费一区 | 国产高清久久 | 免费一区 | 亚洲欧洲一区二区 | 国产一区二区三区久久久久久久久 | 在线一区观看 | 日韩精品一区二区三区中文在线 | 欧美日韩一区二区在线观看 | 久久久久国产一区二区三区 | 久久国产精品一区二区三区 | 亚洲精品在线观看网站 | 天天久| 精品欧美 | 丁香综合 | 91久久国产综合久久 | 久久久精| 草逼网站| 欧美三级三级三级爽爽爽 | h视频在线播放 | 国产精品视频在线观看 | 一区二区三区在线播放 | 99精品国产一区二区三区 | 国产精品亚洲第一 | 国产高清毛片 | 狠狠亚洲| 日韩精品一区二区三区免费观看 | 7777久久 | 亚洲欧美少妇 | 国产亚洲黄色片 | 日本网站免费在线观看 | 毛片免费视频 | 日韩一三区| 一道本视频 | 久久国产精彩视频 | 国产午夜精品一区二区三区四区 | 国产特黄一级 | 亚洲高清一区二区三区 | 韩国精品在线 | 怡红院怡春院一级毛片 | 中文字幕第三页 |