zoukankan      html  css  js  c++  java
  • selenium爬取NBA并将数据存储到MongoDB

    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数据库。

  • 相关阅读:
    Python GUI编程实例
    Python MySQL事务、引擎、索引及第三方库sqlalchemy
    Python 魔法方法简介
    Python sax模块(SAX解析XML)
    Python minidom模块(DOM写入和解析XML)
    【LOJ】#2432. 「POI2014」代理商 Couriers
    【51nod】1559 车和矩形
    【LOJ】#2430. 「POI2014」沙拉餐厅 Salad Bar
    【LOJ】#2105. 「TJOI2015」概率论
    【BZOJ】1336: [Balkan2002]Alien最小圆覆盖
  • 原文地址:https://www.cnblogs.com/lutt/p/10810581.html
Copyright © 2011-2022 走看看