1. 程式人生 > >selenium爬取NBA並將數據存儲到MongoDB

selenium爬取NBA並將數據存儲到MongoDB

per lis lan auth fin wait aik target span

from selenium import webdriver
driver = webdriver.Chrome()
url = https://www.basketball-reference.com/leagues/NBA_2019.html
driver.get(url)
# 操作等待 driver.implicitly_wait(
3) list_name = driver.find_elements_by_xpath(//*[@id="team-stats-per_game"]/tbody/tr/td[1]/a) # 三分球命中次數 list_3p = driver.find_elements_by_xpath(
//*[@id="team-stats-per_game"]/tbody/tr/td[7]) # 三分球投射次數 list_3pa = driver.find_elements_by_xpath(//*[@id="team-stats-per_game"]/tbody/tr/td[8]) # 二分球命中次數 list_2p = driver.find_elements_by_xpath(//*[@id="team-stats-per_game"]/tbody/tr/td[10]) # 二分球投射次數 list_2pa = driver.find_elements_by_xpath(//*[@id="team-stats-per_game"]/tbody/tr/td[11]
) # 導包 from pymongo import MongoClient # 鏈接mongo con = MongoClient(host=127.0.0.1,port=27017) # 鏈接數據庫 db = con[python] # 授權 db.authenticate(name=lu,password=123456,source=admin) # 鏈接集合 coll = db[NBA] length = len(list_name) for i in range(length):
  # 將selenium對象轉成文本 name
= list_name[i].text p3 = list_3p[i].text pa3 = list_3pa[i].text p2 = list_2p[i].text pa2 = list_2pa[i].text ret = coll.insert_one({team隊伍:name,p3三分球命中次數:p3,p3a三分球投射次數:pa3,p2二分球命中次數:p2,p2a三分球投射次數:pa2})

selenium:瀏覽器自動化測試框架 ,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。

mongodb:是一個基於分布式文件存儲的數據庫。由C++語言編寫。介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。

業務需求:

將某網站的數據用python爬蟲技術爬取下來,並且存儲到mongodb數據庫。

selenium爬取NBA並將數據存儲到MongoDB