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中__init__和__new__的区别详解
Jul 09 Python
Python中的闭包详细介绍和实例
Nov 21 Python
Flask解决跨域的问题示例代码
Feb 12 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
Python中的枚举类型示例介绍
Jan 09 Python
Django集成搜索引擎Elasticserach的方法示例
Jun 04 Python
处理Selenium3+python3定位鼠标悬停才显示的元素
Jul 31 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
python 使用递归的方式实现语义图片分割功能
Jul 16 Python
Node.js 和 Python之间该选择哪个?
Aug 05 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
教你怎么用Python监控愉客行车程
Apr 29 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
php实现简易计算器
2020/08/28 PHP
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
node.js学习之base64编码解码
2016/10/21 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
便利店促销方案
2014/02/20 职场文书
企业诚信承诺书
2014/05/23 职场文书
环卫工人慰问信
2015/02/15 职场文书
给校长的建议书范文
2015/09/14 职场文书
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
Python制作春联的示例代码
2022/01/22 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python