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实现定制交互式命令行的方法
Jul 03 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
Python实现Pig Latin小游戏实例代码
Feb 02 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
Python爬虫框架scrapy实现的文件下载功能示例
Aug 04 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
pycharm的python_stubs问题
Apr 08 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 Python
实例详解Python的进程,线程和协程
Mar 13 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设计模式 注册表模式
2012/02/05 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
Javascript typeof 用法
2008/12/28 Javascript
IE无法设置短域名下Cookie
2010/09/23 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
JavaScript操作文件_动力节点Java学院整理
2017/06/30 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
浅谈flask源码之请求过程
2018/07/26 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
物流专业大学应届生求职信
2013/11/03 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
信息员培训方案
2014/06/12 职场文书
普通话演讲稿
2014/09/03 职场文书
庆七一晚会主持词
2015/06/30 职场文书
青年联谊会致辞
2015/07/31 职场文书