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字典操作简明总结
Apr 13 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
详解Python3之数据指纹MD5校验与对比
Jun 11 Python
详解Python图像处理库Pillow常用使用方法
Sep 02 Python
Python统计分析模块statistics用法示例
Sep 06 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Python根据指定文件生成XML的方法
Jun 29 Python
python字典key不能是可以是啥类型
Aug 04 Python
浅谈Python响应式类库RxPy
Jun 14 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代码
2011/11/27 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
基于php权限分配的实现代码
2013/04/28 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
印度网上药店:1mg
2017/10/13 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
日本语毕业生自荐信
2014/02/01 职场文书
四年级学生评语大全
2014/04/21 职场文书
班主任个人工作反思
2014/04/28 职场文书
2014年超市工作总结
2014/11/19 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
python中subplot大小的设置步骤
2021/06/28 Python