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调用shell的方法
Nov 20 Python
Python实现方便使用的级联进度信息实例
May 05 Python
Python的Tornado框架实现图片上传及图片大小修改功能
Jun 30 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
python3 反射的四种基本方法解析
Aug 26 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
python manage.py runserver流程解析
Nov 08 Python
python 实现绘制整齐的表格
Nov 18 Python
python无序链表删除重复项的方法
Jan 17 Python
Python如何转换字符串大小写
Jun 04 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
php正则
2006/07/07 PHP
PHP5+UTF8多文件上传类
2008/10/17 PHP
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
jQuery拖动图片删除示例
2013/05/10 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
node.js使用http模块创建服务器和客户端完整示例
2020/02/10 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
python 运算符 供重载参考
2009/06/11 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
Python测试线程应用程序过程解析
2019/12/31 Python
PyTorch安装与基本使用详解
2020/08/31 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
Oakley西班牙官方商店:太阳眼镜和男女运动服
2019/04/26 全球购物
如何保障Web服务器安全
2014/05/05 面试题
农行实习自我鉴定
2013/09/22 职场文书
房产委托公证书
2014/04/08 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
借名购房协议书范本
2014/10/06 职场文书
安全生产月标语
2014/10/07 职场文书