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 排列组合之itertools
Mar 20 Python
python3图片转换二进制存入mysql
Dec 06 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
分享python数据统计的一些小技巧
Jul 21 Python
对numpy中数组元素的统一赋值实例
Apr 04 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
Python单元测试及unittest框架用法实例解析
Jul 09 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
如何利用python和DOS获取wifi密码
Mar 31 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
用Zend Encode编写开发PHP程序
2010/02/21 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
CSS常用网站布局实例
2008/04/03 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
jQuery实现微信长按识别二维码功能
2016/08/26 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
设计师求职信模板
2014/05/06 职场文书
大学计划书范文800字
2014/08/14 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
转正申请报告格式
2015/05/15 职场文书
升学宴祝酒词
2015/08/11 职场文书
导游词之日月潭
2019/11/05 职场文书
Python内置数据结构列表与元组示例详解
2021/08/04 Python