一、创作背景
这学期的大作业是要根据这学期的学习内容做一个综合程序,这次是一个爬取酷狗音乐飙升榜单的信息,并下载下来。可以方便和我一样喜欢白嫖的人员免费下载音乐。
二、使用的库
主要使用了requests库、BeautifulSoup库用于爬取信息,pandas库用于将信息写入txt文件中,pyplot库和WordCloud库用于绘制词云。
requests库---Requests库是一个Python的第三方库,可以通过调用来帮助我们实现自动爬取HTML网页页面以及模拟人类访问服务器自动提交网络请求。Requests库只有一个核心方法,即request方法。而其余六个方法则是通过调用request方法来实现各种各样的操作。通过封装调用request方法,加之添加其他代码,减少编程人员的代码编写量。
获取HTML网页的主要方法
- url:欲获取网页的网址链接url
- params:可选参数,选择字典或者字节流格式
- **kwargs:12个控制访问的参数
调用requests.get(),会构造一个向服务器请求资源的request对象,然后返回一个包含服务器资源的response对象。
BeautifulSoup库---BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.BeautifulSoup会帮你节省数小时甚至数天的工作时间。
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄.
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("index.html"))
soup = BeautifulSoup("data")
首先,文档被转换成Unicode,并且HTML的实例都被转换成Unicode编码
BeautifulSoup("Sacré bleu!")
Sacré bleu!
然后,Beautiful Soup选择最合适的解析器来解析这段文档,如果手动指定解析器那么Beautiful Soup会选择指定的解析器来解析文档。
pandas库---pandas含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单