前言

首先我们先来回忆一下上两篇爬虫实战文章:

第一篇:讲到了requests和bs4和一些网页基本操作。

第二篇:用到了正则表达式-re模块

今天我们用lxml库和xpath语法来爬虫实战。

1.安装lxml库

window:直接用pip去安装,注意一定要找到pip的安装路径

pipinstalllxml

2.xpath语法

xpath语法不会的可以参考下面的地址:

http://www.w3school.com.cn/xpath/index.asp

爬虫实战

先上部分效果图:

今天我们来爬一下“豆瓣音乐Top250的数据”

1.观察网页切换规律

https://music.douban.com/top250?start=0

https://music.douban.com/top250?start=25

https://music.douban.com/top250?start=50

从中我们已发现了规律。

2.爬取豆瓣音乐中的歌名、信息、星评

爬虫完整代码如下:

importrequests

fromlxmlimportetree

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'}

list=[1]

defgetResult():

urls=["https://music.douban.com/top250?start={}".format(str(i))foriinrange(,250,25)]

forurlinurls:

data = requests.get(url, headers=headers)

html = etree.HTML(data.text)

#循环标签

count = html.xpath("//tr[@class='item']")

forinfoincount:

title = info.xpath("normalize-space(td[2]/div/a/text())")#标题

list[]=title#因为title用normalize-space去掉空格了,再生产result时标题显示不全,所以我用了list替换它

star = info.xpath("td[2]/div/div/span[2]/text()")# 星评

brief_introduction = info.xpath("td[2]/div/p//text()")#简介

#生成result串

forstar, title, brief_introductioninzip(star, list, brief_introduction):

result = {

"title": title,

"star": star,

"brief_introduction": brief_introduction,

}

print(result)

if__name__ =='__main__':

getResult()

分析:

代码中urls为了循环出所有的url

对xpath不懂的可以去看一下具体的语言,还是比较简单明了的,而且使用非常方便

normalize-space表示通过去掉前导和尾随空白并使用单个空格替换一系列空白字符,使空白标准化。如果省略了该参数,上下文节点的字符串值将标准化并返回

基本上就是这些难点,大家有不会的可以直接问我,另外大家也可以尝试去爬取别的数据,多敲多练!

希望对刚入门的朋友有所帮助!

python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细相关推荐

  1. 利用python爬取租房信息_Python爬虫实战(1)-爬取“房天下”租房信息(超详细)

    #前言html 先看爬到的信息:python 今天主要用到了两个库:Requests和BeautifulSoup.因此我先简单的说一下这两个库的用法,提到的都是此文须要用到的.编程 #Requests ...

  2. Python爬虫实战(1)-爬取“房天下”租房信息(超详细)

    前言 先看爬到的信息: 今天主要用到了两个库:Requests和BeautifulSoup.所以我先简单的说一下这两个库的用法,提到的都是此文需要用到的. Requests requests是一个很实 ...

  3. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)

    在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...

  4. Python爬虫实战之爬取豆瓣详情以及影评

    爬取豆瓣详情分为三步: 1.爬取豆瓣电影的所有标签,遍历标签,通过分析网址结构获得每一类标签下的电影url 2.通过url 爬取电影详情 3.导入数据库 爬虫代码如下: from urllib imp ...

  5. python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  6. Python爬虫实战之爬取百度音乐歌曲

    Python爬虫爬取百度音乐歌曲 整体思路如下: 1.搜索:通过搜索界面输入歌手名字找到歌手的歌曲信息.千千音乐:网址 2.找到歌曲信息:通过遍历歌曲列表信息界面获取每个歌曲的ID,以及歌曲的总数 3 ...

  7. Python爬虫实战 | (3) 爬取豆瓣电影Top250

    在本篇博客中,我们将使用requests+正则表达式来爬取豆瓣电影TOP250电影榜单,获取每部电影的序号.片名.导演.编剧.主演.类型.制作国家/地区.语言.上映日期.片长.又名.豆瓣评分和剧情简介 ...

  8. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)

    今天我们来爬取一下豆瓣网上排名前250的电影. 需求:爬取豆瓣网上排名前250的电影,然后将结果保存至一个记事本里. 开发环境: python3.9 pycharm2021专业版 我们先观察网页,看看 ...

  9. python爬取豆瓣影评_【python爬虫实战】爬取豆瓣影评数据

    概述: 爬取豆瓣影评数据步骤: 1.获取网页请求 2.解析获取的网页 3.提速数据 4.保存文件 源代码: # 1.导入需要的库 import urllib.request from bs4 impo ...

最新文章

  1. 武鸣高中2021高考成绩查询,2019年广西两大重点高中成绩大比拼
  2. 面向Tableau开发人员的Python简要介绍(第3部分)
  3. 10.2 SQ02维护信息集
  4. Windows家庭版远程服务
  5. ML Mastery 博客文章翻译(二)20220116 更新
  6. linux pandas教程_这7种Python的全新玩法,你们一定不知道!(附赠Python教程)
  7. C语言输出百分号%的方法和示例
  8. pthread线程传递数据回主线程_操作系统4:线程(1)
  9. java多线程之volatile理解
  10. 用R命令看一下各个寄存器的设置情况
  11. 看清喽别迷糊 英特尔本CPU型号之乱
  12. Python调用搜狗语音API实现文字转音频
  13. 百分浏览器cent browser 和他的扩展程序朋友们
  14. Carbon 语言【中文入门教程】
  15. 计算机专业编程很厉害是怎样的一种体验?
  16. 输入空间、输出空间、特征空间与假设空间的区分
  17. TSQL与PL/SQL的比较(不完全版)
  18. 电脑c语言跟英语关系大吗,英语和数学不好能学好C语言吗
  19. 0736-1.6.1-如何配置CDSW使用本地的Pycharm
  20. 刚体运动学-四元数插值

热门文章

  1. zimbra漏洞利用
  2. 阿里云CentOS-6.7-i386-bin-DVD1.iso下载地址
  3. Java 自带性能监控工具:监视和管理控制台 jconsole 的使用
  4. Linux 非阻塞connect,错误码:EINPROGRESS
  5. CVE-2020-17510: Apache Shiro 权限绕过漏洞通告
  6. 必看!阿里成功背后的商业秘诀:前线团队尽量小,中台支撑尽量大
  7. 竖杠|作为字符串分隔符的使用方法
  8. 任正非与李一男的悲喜剧
  9. Java常用弹出对话框
  10. role 的组织方式