项目地址:https://github.com/xyhcq/top250

我在本次项目中负责写爬虫中对数据分析的一部分,根据马壮分析过的html,我来进一步写代码获取数据,具体的功能及实现方法我已经写在了注释里:

首先,通过访问要爬的网站,并将网站保存在变量里,为下一步数据分析做准备

def getData(html):
# 分析代码信息,提取数据
soup = BeautifulSoup(html, "html.parser")

这时,如果我们print soup,是会在窗口上显示出网站的源代码的。

先把第一部电影信息的源代码放这,便于理解

首先,我们要爬取电影名字,我们经过分析(网页代码层次还是比较清晰的)

然后就可以写出爬取名字的部分了,

    # 找到第一个class属性值为grid_view的ol标签
movieList=soup.find('ol',attrs={'class':'grid_view'}) # 找到所有的li标签
for movieLi in movieList.find_all('li'):
# 找到第一个class属性值为hd的div标签
movieHd=movieLi.find('div',attrs={'class':'hd'})
# 找到第一个class属性值为title的span标签 # 获取电影名字
movieName=movieHd.find('span',attrs={'class':'title'}).getText()
print movieName

经过运行,名字也确实能爬去并显示了,然后我们还是按照这种找标签的方法,以此类推,就能抓取其他的信息了:

        # 获取电影链接
movieUrl=movieHd.find('a class="" href="')
print movieUrl # 获取电影导演/演员
movieBd = movieLi.find('div', attrs={'class': 'bd'})
movieSF=movieBd.find('p',attrs={'class':''}).getText()
print movieSF # 获取电影的评分
movieScore=movieLi.find('span',attrs={'class':'rating_num'}).getText()
print movieScore #获取电影的评论数
movieEval=movieLi.find('div',attrs={'class':'star'})
movieEvalNum=re.findall(r'\d+',str(movieEval))[-1]
print movieEvalNum

这里要说一下,如果找不到标签,有时候程序会卡住不动,排查发现问题出在简评上,所以;

        # 获取电影短评
movieQuote = movieLi.find('span', attrs={'class': 'inq'})
# 有的电影没有短评,为防止报错,加次
if(movieQuote):
print movieQuote.getText()
else:
print ('没有短评!')

Forward团队-爬虫豆瓣top250项目-开发文档的更多相关文章

  1. 《Forward团队-爬虫豆瓣top250项目-开发文档》

    码云地址:https://github.com/xyhcq/top250 模块功能:获取豆瓣top250网页的源代码,并分析. def getHTMLText(url,k): # 获取网页源代码 tr ...

  2. Forward团队-爬虫豆瓣top250项目-设计文档

    组长地址:http://www.cnblogs.com/mazhuangmz/p/7603594.html 成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 设计方案: 1.能分析HTML语言: 2. ...

  3. 《Forward团队-爬虫豆瓣top250项目-设计文档》

    成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 设计方案: 1.能分析HTML语言: 2.提取重要数据,并保存为文本文档: 3.用PY代码调取文本文档的数据: 4.编写提取部分数据的python代码 ...

  4. 爬虫豆瓣top250项目-开发文档

    项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 负责内容:1.使用python的request库先获取网页内容下来 2.再使用一个好用的lxm ...

  5. Forward团队-爬虫豆瓣top250项目-项目总结

    托管平台地址:https://github.com/xyhcq/top250 小组名称:Forward团队 组长:马壮 成员:李志宇.刘子轩.年光宇.邢云淇.张良 我们这次团队项目内容是爬取豆瓣电影T ...

  6. Forward团队-爬虫豆瓣top250项目-最终程序

    托管平台地址:https://github.com/xyhcq/top250 小组名称:Forward团队 小组成员合照: 程序运行方法: 在python中打开程序并运行:或者直接执行程序即可运行 程 ...

  7. Forward团队-爬虫豆瓣top250项目-项目进度

    项目地址:https://github.com/xyhcq/top250 我们的项目是爬取豆瓣top250的电影的信息,在做这个项目前,我们都没有经验,完全是从零开始,过程中也遇到了很多困难,不过我们 ...

  8. Forward团队-爬虫豆瓣top250项目-模块测试

    项目托管平台地址:https://github.com/xyhcq/top250 模块测试:爬虫对信息的处理部分 测试方法: 实际运行一下代码: 可以看见,信息都已经爬取出来了 其他补充说明: 原本系 ...

  9. Forward团队-爬虫豆瓣top250项目-模块开发过程

    项目托管平台地址:https://github.com/xyhcq/top250 开发模块功能: 爬虫对信息的处理部分 开发时间:5天的下午空余时间(每天大约1小时,边学模块的使用边开发) 实现了:爬 ...

随机推荐

  1. 树的遍历——c#实现

    树作为一种重要的非线性数据结构,以分支关系定义其层次结构,在客观世界中应用广泛.通过对树遍历,将树进行线性化处理,即遍历的结果是将非线性结构的树种节点排列成一个线性序列.其中,最常见的遍历方式包括先序 ...

  2. Python学习—数据库篇之SQL语句

    一.数据库级别 1.显示数据库 show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于用户测试数据 information_schema - MySQL本身 ...

  3. git clone失败

    操作: $ git clone https://github.com/zjun615/DragListView.gitCloning into 'DragListView'...fatal: unab ...

  4. Ubuntu---添加输入法

    摘要:Ubuntu 在刚刚安装好之后,默认是不支持直接输入中文的,所以我们需要安装支持中文的输入法.网络上面一般推荐使用的输入法是 Fcitx(小企鹅输入法),我们今天就来安装和配置它. step1: ...

  5. 小强学渲染之Unity Shader编程HelloWorld

    第一个简单的顶点vert/片元frag着色器   1)打开Unity 5.6编辑器,新建一个场景后ctrl+s保存命名为Scene_5.默认创建的场景是包含了一摄像机,一平行光,且场景背景是一天空盒而 ...

  6. 第五周博客作业 <西北师范大学| 周安伟>

    第五周博客作业 一,助教博客链接https://home.cnblogs.com/u/zaw-315/ 二,本周工作查阅项目汇报,班级微信群.对同学们的中期项目汇报进行查看,解决上周留言问题,对及时出 ...

  7. 使用syslog服务器存储cp防火墙日志配置

    版本:R80.20 step1:创建syslog 服务器,如下图: step2:配置syslog 服务器,如下图:   step3:配置网关日志服务器,添加设定的syslog服务器,如下图:   st ...

  8. 2018-2019-2 20175126谢文航 实验一《Java开发环境的熟悉》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1751班 姓名:谢文航 学号:20175126 指导教师:娄嘉鹏 实验日期:2019年3月28日 实验时间:--- 实验序号:实验一 实验名称:Jav ...

  9. Python中日期和时间格式化输出的方法

    本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...

  10. swift UIview上添加视频播放

    1. /// 是否显示过广告 private lazy var isLoadAV = false /// 15秒宣传视频 private var play: AVPlayer? /// 宣传视频背景 ...