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

  • 相关阅读:
    设置发光字
    QQ空间无导航条应对方法
    网页设计经典网站欣赏
    页面居中显示
    获取元素的绝对位置
    输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
    最长重复子字符串
    从头到尾彻底解析Hash 表算法
    求二叉树中节点的最大距离
    MySQL学习笔记——显示数据库信息
  • 原文地址:https://www.cnblogs.com/lutt/p/10810581.html
Copyright © 2011-2022 走看看