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实现360皮肤按钮控件示例
Feb 21 Python
python根据文件大小打log日志
Oct 09 Python
python MySQLdb Windows下安装教程及问题解决方法
May 09 Python
python使用正则表达式提取网页URL的方法
May 26 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 Python
python requests 使用快速入门
Aug 31 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
python numpy数组中的复制知识解析
Feb 03 Python
Python logging模块写入中文出现乱码
May 21 Python
查看keras的默认backend实现方式
Jun 19 Python
Python 代码调试技巧示例代码
Aug 11 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生成HTML静态页面实例代码
2008/08/31 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP实现防止表单重复提交功能【基于token验证】
2018/05/24 PHP
php使用yield对性能提升的测试实例分析
2019/09/19 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
High Performance JavaScript(高性能JavaScript)读书笔记分析
2011/05/05 Javascript
easyui Droppable组件实现放置特效
2015/08/19 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
采购文员岗位职责
2013/11/20 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
企业文化宣传标语
2014/06/09 职场文书
春晚观后感
2015/06/11 职场文书