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測試直接運行在瀏覽器中,就像真正的用戶在操做同樣。html
mongodb:是一個基於分佈式文件存儲的數據庫。由C++語言編寫。介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。python
業務需求:web
將某網站的數據用python爬蟲技術爬取下來,而且存儲到mongodb數據庫。mongodb