爬取网络数据

1.1首先读取网站`

https://www.kugou.com/yy/rank/home/1-6666.html?from=rank`

1.2定义用beautifulsoup选取HTML代码的文字部分:

def explain_HTML(mylist, html):soup = BeautifulSoup(html,'html.parser')songs = soup.select('div.pc_temp_songlist > ul > li > a')ranks = soup.select('span.pc_temp_num')times = soup.select('span.pc_temp_time')for rank,song,time in zip(ranks,songs,times):data = [rank.get_text().strip(),song.get_text().split("-")[1],song.get_text().split("-")[0],time.get_text().strip()]mylist.append(data)

##为了使得打印展示的结果更加美观,应当调整打印的数据格式:

def print_HTML(mylist):for i in range(500):x = mylist[i]with open("D:\Anew\kugou.txt",'a',encoding = 'UTF-8') as f:f.write("{0:<10}\t{1:{4}<25}\t{2:{4}<20}\t{3:<10}\n".format(x[0],x[1],x[2],x[3],chr(12288)))

为防止爬虫速度访问快而导致的爬取失败设立time.sleep(1)函数来进行预防上述风险。

1.4爬取结果展示如下:

1.5代码展示

import requests
from bs4 import BeautifulSoup
import timedef get_HTML(url):headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36","referer": "https://www.kugou.com/yy/rank/home/1-6666.html?from=rank"}try:r = requests.get(url,headers = headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def explain_HTML(mylist, html):soup = BeautifulSoup(html,'html.parser')songs = soup.select('div.pc_temp_songlist > ul > li > a')ranks = soup.select('span.pc_temp_num')times = soup.select('span.pc_temp_time')for rank,song,time in zip(ranks,songs,times):data = [rank.get_text().strip(),song.get_text().split("-")[1],song.get_text().split("-")[0],time.get_text().strip()]mylist.append(data)def print_HTML(mylist):for i in range(500):x = mylist[i]with open("D:\Anew\kugou.json",'a',encoding = 'UTF-8') as f:f.write("{0:<10}\t{1:{4}<25}\t{2:{4}<20}\t{3:<10}\n".format(x[0],x[1],x[2],x[3],chr(12288)))if __name__ == '__main__':url_0 = 'http://www.kugou.com/yy/rank/home/'url_1 = '-8888.html'mylist = []with open("D:\Anew\kugou.json",'a',encoding = "UTF-8") as f:f.write("{0:<10}\t{1:{4}<25}\t{2:{4}<20}\t{3:<10}\n".format("排名","歌曲","歌手","时间",chr(12288)))for j in range(1,24):url = url_0 + str(j) + url_1html = get_HTML(url)explain_HTML(mylist, html)print_HTML(mylist)time.sleep(1)

1.6以json转码前文档应该为

在在线解析json工具展示应该为:
通过代码运行检验代码展示如下:

with open("D://Anew//Kugou.json", 'r', encoding="utf-8") as rdf:json_data=json.load(rdf)print('数据展示:', json_data)

编程生成CSV文件并转换成JSon格式

将信息以数组的形式进行编码录入

import csv
test = [["姓名", "性别","籍贯","系别"],
["张迪", "男","重庆","计算机系"],
["兰博", "男","江苏","通信工程系"],
["黄飞", "男","四川","物联网系"],
["邓玉春", "女","陕西","计算机系"],
["周丽", "女","天津","艺术系"],
["李云", "女","上海","外语系"]
]
with open('信息录入.csv', 'w',encoding="utf8") as file:csvwriter = csv.writer(file, lineterminator='\n')csvwriter.writerows(test)

2.2 csv进行代码转换为json格式

import csv,jsoncsvfile = open('D:\\Anew\\test.csv','r')
jsonfile = open('D:\\Anew\\test.json','w')fieldnames = ('姓名','性别','籍贯','系别')
reader = csv.DictReader (csvfile,fieldnames)
for row in reader:json.dump(row,jsonfile)jsonfile.write('\n')

由于json文件自带加密效果,因此需要在网上找到json的格式化校验工具。本次使用的是BEJSON工具,校验展示图如下:

2.3查询文件中女生信息

import json
with open('D:\\Anew\\名单.json','r') as f:for line in f.readlines():line=json.loads(line)if(line['性别']=='女'):print(line)

XML格式文件与JSon的转换

3.1(1)读取以下XML格式的文件,内容如下:

<?xml version=”1.0” encoding=”gb2312”> <图书> <书名>红楼梦

爬取酷狗音乐网站(https://www.kugou.com/)上榜单前500名的歌曲名称相关推荐

  1. 爬取酷狗音乐网站,上榜单前500名的歌曲名称!

    爬取网络数据 1.1首先读取网站` https://www.kugou.com/yy/rank/home/1-6666.html?from=rank` 1.2定义用beautifulsoup选取HTM ...

  2. Python爬虫爬取酷狗音乐TOP500

    Python大作业 内容简介: 用Python来爬取酷狗音乐TOP500的歌曲信息,统计这500首歌曲中出现的所有歌手,并做可视化处理生成词云 实验代码: import time import req ...

  3. Python爬虫案例:爬取酷狗音乐全排行榜歌曲

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本次目标 爬取酷狗音乐全站排行榜歌曲 目标地址 https://www.ku ...

  4. Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)

    在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天 ...

  5. Python爬虫之爬取酷狗音乐歌曲

    Python爬虫之爬取酷狗音乐歌曲 1.安装第三方库 在Python的语言库中, 分为Python标准库和Python的第三方库. Python标准库是在你安装Python的时候已经包含在了安装目录下 ...

  6. Python爬取酷狗音乐-详解(多图预警)

    目录 1.前言 2.分析一下 1. 2. 3. 3.代码解释 4.完整代码 5.结语 1.前言 前面发布了一篇关于QQ音乐爬取的教程,但对于我们这种文艺青年来说,一个平台的歌曲怎么够我们听的,也是因为 ...

  7. python爬取酷狗音乐排行榜

    本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下 转载于:https://www.cnblogs.com/Pythonmiss/p/10799941.html

  8. scrapy_redis分布式爬取酷狗音乐

    scrapy_redis分布式爬取酷狗音乐 前言 安装scrapy_redis 创建scrapy项目 spider模块 items模块.pipelines模块 setting.py 调试 运行 成果图 ...

  9. 爬虫训练(三):爬取酷狗音乐

    今天趁机一鼓作气,把简单爬虫内容一次学习完毕,最后以爬取酷狗音乐排行榜歌曲作为结束,然后对此次学习做一个整理和总结.而且前两篇有些混乱,这里把内容做一次阶段性总结. 一.安装包 爬虫三大包:reque ...

最新文章

  1. Visual Studio 2010 多定向的支持
  2. sublime_text3代码自动提示补全
  3. 日常生活小技巧 -- 虚拟串口工具
  4. scratch跳一跳游戏脚本_cocos creator制作微信小游戏「跳一跳」
  5. PHP之MVC项目实战
  6. 1. 第一个lavarel 项目
  7. Fashion Your Firefox
  8. 如何使用C#编写用友U8软件相关功能,适用于插件和二次开发
  9. 2018Oracle11g下载与安装菜鸟教程(二)
  10. 关于eclipse IDE安装Darkest Dark Theme主题插件
  11. Mac使用技巧:怎样破解iPhone 锁屏密码
  12. 【性能测试之问题分析】遇到内存告警百分之80以上的排查逻辑及实例分析(关键字:JVM、JAVA)
  13. 【官网】飞腾 2000 处理器
  14. Windows预览体验计划空白等一些问题的解决办法
  15. 国产数据库mysql_国产的数据库都有哪些?
  16. FL Studio乐理教程之和弦进行
  17. JavaScript实现拖拽上传 解析 APK 信息
  18. 系统安装 - 我们找不到任何驱动器
  19. 企业微信方便做售后吗?企微SCRM_带你体验私域流量新玩法
  20. Ubuntu系统中sh脚本编写

热门文章

  1. C#的多线程(2)之二
  2. Nature子刊:基于海马功能连接预测模型预测个体对压力的主观感受
  3. 简约空白个人导航源码
  4. 详解下一代网络(NGN)
  5. Day69(贪心算法)
  6. You will surely observe a Tiffany jewelry
  7. 【PC】完美解决 office2010 错误1920 未能启动服务 “Office Software Protection Platform”(osppsvc)
  8. python实现画板_Python3使用PyQt5制作简单的画板/手写板
  9. 广东迅视资管 电子视觉芯片每秒最快可计算181帧
  10. php 网页截图,codefromnet/PHP网页截图-网页快照实现.txt at master · yangyu0116/codefromnet · GitHub...