python爬取足球直播吧五大联赛积分榜


Posted in Python onJune 13, 2018

本文实例为大家分享了python爬取足球联赛积分榜的具体代码,供大家参考,具体内容如下

使用BeautifulSoup4解析爬取足球直播吧五大联赛积分榜信息;

#! /usr/bin/python3 
# -*- coding:utf-8 -*- 
from urllib.request import urlopen 
from urllib.request import quote 
from bs4 import BeautifulSoup 
import time 
import re 
import json 
import pymysql 
 
url="https://data.zhibo8.cc/pc_main_data/#/dejia/index1" 
response = urlopen(url) 
bs = BeautifulSoup(response,"html.parser") 
 
# print(bs) 
liansai_s = bs.select("ul.data_nav > li") 
 
# print(liansai_lists) 
 
# <li ng-class="{current:current==0}" ng-click="selcuptype(0,'NBA')"> 
#  <a data-index="nba" href="#/team_nba/nba" rel="external nofollow" name="NBA"> 
#    <div class="data_item" ng-class="{current2:current==0}">NBA</div> 
#    <div class="data_item_logo"><img src="images/nba.png"/></div> 
#  </a> 
# </li> 
 
liansai_lists = [] 
for liansai in liansai_s: 
  # print(liansai) 
  ls = [] 
  href = liansai.select("a")[0].get("href") 
  # print(href) 
  lsName = liansai.select("a > div.data_item")[0].text 
  ls.append(href) 
  ls.append(lsName) 
  liansai_lists.append(ls) 
 
# print(liansai_lists) 
 
#{ 
# '排名': '1', 
# 'teamId': '565', 
# '球队': '巴塞罗那', 
# '场次': '29', 
# '胜': '23', 
# '平': '6', 
# '负': '0', 
# '进/失球': '74/13', 
# '净胜球': '61', 
# '积分': '75', 
# '球队图标': 'http://duihui.qiumibao.com/zuqiu/basailuona.png', 
# '字体颜色': '#e62e2e', 
# '夜间字体颜色': '#af2d2d', 
# '背景颜色': '#ffffff', 
# '球队名称': '巴塞罗那' 
# }, 
 
location = '' 
def insert_into_db(lists): 
  #将数据写入到数据库中 
  con = pymysql.connect(host="localhost", user="root", password="root", database="zhi_bo_ba", charset='utf8', port=3306) 
  # 游标。 作用 就等同于 JDBC 中的 Statement 
  cursor = con.cursor() 
  for record in lists: 
    print(record) 
    sql_insert = "insert into jifenbang (liansai, paiming, qiudui, changci, sheng,ping,fu,jinqiu_shiqu,jingsheng,jifen) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" 
    cursor.execute(sql_insert, record) 
 
  con.commit() 
  cursor.close() 
  con.close() 
 
 
def jifenbang(str): 
  # print(str) 
  datas = urlopen(str) 
  #加载json类型的数据 
  datas = json.load(datas) 
  jifen_list = [] 
  for info in datas['data']: 
    j_f = [] 
    j_f.append(location) 
    j_f.append(info['排名']) 
    j_f.append(info['球队']) 
    j_f.append(info['场次']) 
    j_f.append(info['胜']) 
    j_f.append(info['平']) 
    j_f.append(info['负']) 
    j_f.append(info['进/失球']) 
    j_f.append(info['净胜球']) 
    j_f.append(info['积分']) 
    jifen_list.append(j_f) 
  print(jifen_list) 
  insert_into_db(jifen_list) 
   
# https://dc.qiumibao.com/shuju/public/index.php?_url=/data/index&league=联赛&tab=%积分榜&year=[year] 
# https://dc.qiumibao.com/shuju/public/index.php?_url=/data/index&league=联赛&tab=球员榜&type=射手榜&year=[year] 
urls="https://dc.qiumibao.com/shuju/public/index.php?_url=/data/index&league=" 
list = ['西甲','英超','意甲','德甲','法甲','中超','中甲'] 
for aa in liansai_lists: 
 
  if aa[1] in list: 
    location = aa[1] 
    new_url = '%s%s&tab=%s&year=[year]' % (urls,quote(aa[1]),quote('积分榜')) 
    jifenbang(new_url)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
深入理解Python中装饰器的用法
Jun 28 Python
Python表示矩阵的方法分析
May 26 Python
基于Python os模块常用命令介绍
Nov 03 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
python实现一个简单RPC框架的示例
Oct 28 Python
python 命令行传参方法总结
May 25 Python
python 实现体质指数BMI计算
May 26 Python
Python实现多条件筛选目标数据功能【测试可用】
Jun 13 #Python
mac 安装python网络请求包requests方法
Jun 13 #Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 #Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 #Python
基于scrapy的redis安装和配置方法
Jun 13 #Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 #Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
Jun 13 #Python
You might like
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
2012/01/16 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
jQuery 选择器详解
2015/01/19 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
详解vue组件开发脚手架
2018/06/15 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
JavaScript实现省市联动效果
2019/11/22 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
Python实现新浪博客备份的方法
2016/04/27 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
浅析Python的命名空间与作用域
2020/11/25 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
学期个人工作总结
2015/02/13 职场文书
2015年党总支工作总结
2015/05/25 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
canvas 中如何实现物体的框选
2022/08/05 Javascript