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-嵌套列表list的全面解析
Jun 08 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
Python实现把多维数组展开成DataFrame
Nov 30 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
Dec 25 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
python数据类型强制转换实例详解
Jun 22 Python
python使用pygame创建精灵Sprite
Apr 06 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
用于业余项目的8个优秀Python库
2018/09/21 Python
python实现石头剪刀布小游戏
2021/01/20 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
承办会议欢迎词
2014/01/17 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
金融系毕业生自荐书
2014/07/08 职场文书
党员民主评议个人总结
2014/10/20 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
入党申请书怎么写?
2019/06/11 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS