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代码依赖的库的实现代码
Aug 09 Python
深入理解 Python 中的多线程 新手必看
Nov 20 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
python实现可变变量名方法详解
Jul 01 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
python给图像加上mask,并提取mask区域实例
Jan 19 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
Mar 10 Python
Python xlwt模块使用代码实例
Jun 10 Python
Python识别验证码的实现示例
Sep 30 Python
Python爬虫教程知识点总结
Oct 19 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去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
JS获取整个页面文档的实现代码
2011/12/15 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
python选择排序算法实例总结
2015/07/01 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
用Python实现随机森林算法的示例
2017/08/24 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
详解python datetime模块
2020/08/17 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
python如何实现word批量转HTML
2020/09/30 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
eDreams澳大利亚:预订机票、酒店和度假产品
2017/04/19 全球购物
Java基础知识面试要点
2016/07/29 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
关于礼仪的演讲稿
2014/01/04 职场文书
答谢会策划方案
2014/05/12 职场文书
给学校建议书范文
2014/05/13 职场文书
中学生检讨书范文
2014/11/03 职场文书
委托书格式范文
2015/01/28 职场文书
宇宙与人观后感
2015/06/05 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript