Python爬虫爬取豆瓣TOP250和网易云歌单

这篇博客详细记录了使用Python爬虫抓取豆瓣TOP250书籍和网易云音乐歌单的步骤。过程中涉及了网页解析、异常处理、正则表达式、数据存储到Excel等技术。博主遇到了反爬机制、正则表达式错误等问题,并分享了解决方案。最后,提供了爬虫代码示例。
摘要由CSDN通过智能技术生成

python爬虫(网易云)笔记

@(python学习)

  • 推荐看一下b站的视频链接如下:https://www.bilibili.com/video/BV12E411A7ZQ?from=search&seid=10419059379828214037
  • 里面具体介绍了语法pycharm编辑器的用法还有如何爬取豆瓣TOP250的过程(代码在后面),我自己再根据过程写了爬取网易云歌单,只是比原来的多了个循环爬取了歌曲,本来不必进入但是因为大网站他有反爬,所以得多写一层
  • 最后爬取的结果如下:

在这里插入图片描述
在这里插入图片描述

基本流程

  • 准备工作
    • 查看页面整体html框架,分析标签
  • 获取数据
    • 写一个askurl函数获取整个页面内容,传入一个链接地址作为参数

    一定注意:网址除去/和#不然会获取到没有有用信息的代码段并且会被反爬
    (但其实去除符号之后得到了歌曲信息其他还是被加密了,自己分清楚哪些可以爬哪些不行,一定要根据自己代码爬出的页面去写后面的,而不是光看F12以后的页面元素)

    • urllib.Request生成请求 urllib.urlopen发送请求获取响应 read读取

    注意头部信息处理

    • 设置异常处理加入异常捕获try except语句
    except urllib.error.URLError as e:
        if hasattr(e, "code"):
            print(e.code)
        if hasattr(e, "reason"):  # 什么原因导致没有打印成功
            print(e.reason)    #打印出来可能会有404,500等错误
  • 逐一解析内容:利用正则表达式和页面解析库bs

在getdata函数中由于img标签的正则表达式的错误导致产生了很多多余的不要的信息

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-seeHQiex-1595850838299)(./}7JHYL5O0$GDL692DCFTI8.png)]

  • 保存数据:用xlwt保存到excel表格里

注意小点

  • 一些库的说明
    • bs4网页解析获取数据(爬完网页将数据进行拆分);
    • re正则表达式进行文字匹配(进行数据的提炼);
    • urllib.request,.error制定url获取网页数据(给网页就能爬);
    • xlwt进行excel操作(存到excel)
    • sqlite3进行SQLITE数据库操(存到数据库)
  • 发起请求:
    • urlopen方法可以实现最基本的请求的发起,但是如果要加入headers等信息,就可以用Request类来构造请求。此时要注意头部信息的空格的处理
  • 从爬取歌单界面进入每一个歌单内部,发现歌单的链接和歌曲的链接只是后面id后缀的值不同可以用列表将其保存再利用列表进入链接内部
  • 原本页面信息链接的符号多余或者一些http的省略要用拼串接上
    例如获取歌单链接时:
    data.append("https://music.163.com/"+link)
 for i in range(0,70):
        a=datalist[i][0]
        a=a[0:22]+a[23:]  #除去多余的/
        baseurl2.append(a)
  • 几个正则表达式设置为全局变量
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值