推广 热搜: 百度  搜索引擎  企业  可以  选择  使用  上海  技术  page  机械设备 

一起学爬虫——使用xpath库爬取猫眼电

   日期:2025-01-02     作者:3ujux    caijiyuan  
核心提示:之前分享了一篇使用requests库爬取豆瓣电影250的文章,今天继续分享使用xpath爬取猫眼电影热播口碑榜XPATH语法 XPATH(XML Path L

之前分享了一篇使用requests库爬取豆瓣电影250的文章,今天继续分享使用xpath爬取猫眼电影热播口碑榜

XPATH语法 XPATH(XML Path Language)是一门用于从XML文件中查找信息的语言。通用适用于从HTML文件中查找数据。工欲善其事必先利其器,我们首先来了解XPATH常用的语法规则。

常用匹配规则:

XPATH的匹配功能很强大,上面6种匹配规则可以搭配使用,通过上面的6种匹配规则即可爬取到网页上所有的我们想要的数据。

使用下面的HTML文档介绍上述6种规则的搭配使用。

通过上面的匹配规则,我们就可以使用XPATH来解析爬取猫眼电影国内票房榜的数据。

XPATH要配合requests一起使用,使用requests抓取网页信息,然后使用XPATH解析网页信息,XPATH在lxml库中,因此需要在pycharm中安装lxml。

1、获取取猫眼电影热播口碑榜HTML文件 下面是抓取猫眼电影热播口碑榜的代码:

2、提取电影名 现在浏览器的开发者工具都支持提取xpath规则,具体步骤如下: 首先在浏览器中打开网址,按下F12,ctrl+f查找电影名,鼠标右键弹出的菜单,点击Copy选项,点击Copy Xpath。到此就可以把电影名称的xpath匹配规则提取出来:

电影名称提取的规则是:

我们使用这个规则看下是否能提取出电影名称,代码如下:

运行结果: 上面的结果显示抓取到的是a元素,就是html中的a标签,要想获取该元素中的文本值,必须在xpath匹配规则追加/text(),下面是追加/text()后的代码及运行结果:

这里只是提取一部电影的名称,我们要想提取当前网页的所有电影的名称,匹配规则怎么写呢? 下面是当前页10部电影的xpath匹配规则

发现dd的数字会变化,其他的都不变,因此用通配符“*”代替dd节点中的数字,提取当前页所有电影名字的xpath规则为:

看下最后的运行结果是什么。

可见使用通配符*把所有的电影名称都提取出来了。

3、提取电影图片链接 通过上步骤获取图片的xpath匹配规则为:

通过开发者工具知道img节点有三个属性,分别是alt,class和src。

其中src的是图片的地址,在xpath提取规则追加上@src,变为:

看下这个xpath规则是否能提取到图片的链接地址:

运行的结果是:[]

怎么会得不到src属性的值呢?难道src属性不存在?

通过鼠标右键查看网页源文件:

原来src变成了data-src。修改xpath规则后看下能否提取出电影图片链接:

运行结果:

电影图片链接提取成功。 这是提取一部电影的xpath规则,下面是当前页面10部电影图片的规则:

观察发现dd的数字会变化,其他的都不变,因此用通配符“*”代替dd节点中的数字,提取当前页所有电影图片链接的xpath规则为:

以此类推,通过上面的方式提取出当前页所有电影名称,图片地址,主演,上映时间,评分的xpath匹配规则:

爬取猫眼电影国内热播榜的完整代码如下:

本文地址:http://ww.kub2b.com/tnews/4454.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号