本人正在点亮爬虫技能树,写blog以记录
selenium和bs4介绍
Selenium 自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
观察页面信息
我们爬取页面为网易云音乐的歌手界面,发现不同专栏的url对应的id参数不同,例如:
- https://music.163.com/#/discover/artist/cat?id=1001 华语男歌手
- https://music.163.com/#/discover/artist/cat?id=1002 华语女歌手
- …
在发现对应的每个专栏的A-Z索引对应的initial参数不同,例如: - https://music.163.com/#/discover/artist/cat?id=1001&initial=65 华语男歌手A索引
- https://music.163.com/#/discover/artist/cat?id=100ini1&initial=66 华语男歌手B索引
- …
从A-Z对应initial参数65-90
通过更改url后面的id参数和initial参数获得不同页面
def main():
url = 'https://music.163.com/#/discover/artist/cat?id='
items = [1001,1002,1003,2001,2002,2003,4001,4002,4003,6001,6002,6003,7001,7002,7003]
initials = [-1] + [i for i in range(