python爬取豆瓣热门电影信息,python爬取豆瓣电影排行榜
序
本文文字和图片均来自互联网,仅供学习交流,无商业用途。如有问题,请及时联系我们进行处理。
PS:如果需要Python学习资料,可以点击下面的链接自行获取。
Python免费学习资料和群发解决方案可以点击加入。
1.爬行动物的基本原理
我们抓取了中国最受欢迎的电影《红海行动》的信息。其实爬虫获取web信息的原理和人工获取信息的原理基本相同。
人工操作步骤:
1.获取电影信息页面
2.定位(查找)评分信息的位置
3.复制并保存我们需要的评分数据。
爬虫操作步骤:
1.请求和下载电影页面信息
2.分析和定位评分信息。
3.保存评分数据。
综合言之,原理图如下:
2.爬虫的基本流程
简单来说,我们向服务器发送请求后,会得到返回的页面;在解析页面之后,我们可以提取我们想要的信息,并将其存储在指定的文档或数据库中。就这样,我们想要的信息被我们“爬”了下来~
3.安装python依赖包请求Xpath
Python里有很多爬虫相关的包:Urllib,requsts,bs4……先说简单的请求xpath!更高级的BeautifulSoup还是有点难度的。
然后我们安装requests xpath的应用包来抓取豆瓣电影:
在Windows终端中输入以下两行代码:
pip install requests
pip install lxml
4.代码排序——获取豆瓣电影的目标网页,进行分析。
我们想获取豆瓣电影《红海行动》的相关信息。目标地址是:https://movie.douban.com/subject/26861685/.
给定url,使用requests.get()方法获取页面的文本,并使用etree.HTML()解析下载的页面数据“data”。
5.获取电影名称。
获取元素的Xpath信息并获取文本:
File=s.xpath(元素/文本的xpath信息())
这里的“元素的Xpath信息”需要通过定位目标元素,点击网站手动获取:右键 检查。
快捷键“shift ctrl c”,当你将鼠标移动到相应的元素上,就可以看到相应的网页代码:
依次点击右键 Copy Copy XPath对应电影名称的代码,得到电影名称的Xpath:
这样,我们复制了元素中的Xpath信息:
//*[@id=content]/h1/span[1]
将它放入代码中并打印信息:
film=s . XPath(//*[@ id= content ]/h1/span[1]/text())打印(film)
6.代码和运行结果
上面的完整代码如下:
在Pycharm中运行完整的代码,结果如下:
至此,我们完成了豆瓣电影《红海行动》中“电影名称”信息的代码编译,可以在Pycharm中运行。
7.获取其他元素信息。
除了片名,我们还可以获得导演、主演、片长等信息。以类似的方式。代码如下:
看上面的代码,发现在获取不同的“主演”信息时,区别只是“span[x]”中“x”的数字大小不同。事实上,当你想一次性获得“主演”的所有信息时,只需使用不带数字的“A”即可。代码如下:
actor=s.xpath(//*[@id="info"]/span[3]/span[2]/a/text())#主演
完整的代码如下:
在Pycharm中运行完整代码的结果如下:
8.关于解析工件Xpath
也就是Xpath是XML路径语言,是一种用来确定XML文档某一部分位置的语言。
基于Xpath的树结构提供了在数据结构树中查找节点的能力。最初,Xpath被提出作为Xpointer和XSL之间的通用语法模型。但是Xpath很快被开发人员作为小型查询语言采用。
解析Xpath网页的过程:
1.首先,通过请求库获取网页数据。
2.通过网页解析获得想要的数据或者新的链接。
3.网页解析可以通过Xpath或者其他解析工具来完成。Xpath是一个非常有用的网页解析工具。
基于的常用网页解析方法的比较
正则表达式使用困难,学习成本高。
BeautifulSoup性能较慢,比Xpath更难,在某些特定场景下很有用。
Xpath简单易用,速度快(Xpath是lxml的一种),是入门的最佳选择。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。