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实现封装得到virustotal扫描结果
Oct 05 Python
尝试用最短的Python代码来实现服务器和代理服务器
Jun 23 Python
关于Django外键赋值问题详解
Aug 13 Python
django将图片上传数据库后在前端显式的方法
May 25 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
如何在django中运行scrapy框架
Apr 22 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python识别围棋定位棋盘位置
Jul 26 Python
python基础之错误和异常处理
Oct 24 Python
python 闭包函数详细介绍
Apr 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
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
Bootstrap插件全集
2016/07/18 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python合并多个装饰器小技巧
2015/04/28 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
python django中8000端口被占用的解决
2019/12/17 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Python导入数值型Excel数据并生成矩阵操作
2020/06/09 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
小露珠教学反思
2014/04/30 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2015年教研员工作总结
2015/05/26 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫