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实现的双色球生成功能示例
Dec 18 Python
Python给你的头像加上圣诞帽
Jan 04 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
Python字符串格式化输出代码实例
Nov 22 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
python3将变量输入的简单实例
Aug 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
PHP 模板高级篇总结
2006/12/21 PHP
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
javascript函数库-集合框架
2007/04/27 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
JavaScript数组排序reverse()和sort()方法详解
2017/12/24 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
深入理解Python装饰器
2016/07/27 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
文秘大学生求职信
2014/02/25 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
陕西导游词
2015/02/04 职场文书
小学班级口号大全
2015/12/25 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
Python中使用Lambda函数的5种用法
2021/04/01 Python
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS