爬虫学习day1

2018-06-18 02:26:43来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在初步了解了关于爬虫的原理以及较为基本的技术后,尝试进行网页数据的爬取练习。首先使用requests和beautifulsoup来爬取网页上的部分信息。(以网易云音乐上的音乐排行榜信息爬取为例),记录遇到的相关问题以及解决方法。

一、获取文本内容

  1、选取目标网址

  import requests

  kv={'user-agent':'Mozilla/5.0'}

  r=requests.get("http://music.163.com/#/discover/toplist",headers=kv,timeout=30)

  虽然r.status_code 是200,但是并没有出现我想要得到的网页信息。通过对得到的网页内容进行分析,发现出现问题的地方是在爬取的连接地方。将链接中的#去掉后,爬到了需要的内容。

  r=requests.get("http://music.163.com/discover/toplist",headers=kv,timeout=30)

    2、提取内容

  在网页中其实需要提取的是榜单中对应的音乐名称以及歌手名字。有两个地方可以提取。分别在div标签下的li下面的a标签有歌名和id;另一个地方是

  div下面的textarea的内容更加详细。在textarea里面,所有歌曲的信息以字典的形式放到了列表里面。所以直接提取textarea里面的文本内容

 from bs4 import BeautifulSoup
 soup=BeautifulSoup(r.text,'html.parser')
 InfoText=soup.find_all('div',id="song-list-pre-cache
").textarea.text
 得到的InforText为字符串形式,考虑用正则表达式进行提取
通过json.loads(InfoText)将字符串转换为list


 
 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:元类

下一篇:Python--sys