Forward团队-爬虫豆瓣top250项目-开发文档

项目地址: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 (‘没有短评!‘)

时间: 2024-11-05 18:35:49

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

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

码云地址:https://github.com/xyhcq/top250 模块功能:整合代码,控制是否将信息显示出来. import requests from bs4 import BeautifulSoup import re import time import sys def getHTMLText(url,k): # 获取网页源代码 try: if(k==0): kw={} else: kw={'start':k,'filter':''} # 保存获取的网页 read = reques

团队-爬虫豆瓣top250项目-开发文档

https://gitee.com/npq115/pachong/blob/master/savedata.py 项目:团队-爬虫豆瓣top250 我负责的模块:data 存储处理好的抓取到的电影名称 功能:存在部分问题,代码整合后发现只能获取到排名以及电影名称 还在完善. 我编写的部分: def saveData(datalist,savepath): book=xlwt.Workbook(encoding='utf-8',style_compression=0) sheet=book.add

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

托管平台地址:https://github.com/xyhcq/top250 小组名称:Forward团队 组长:马壮 成员:李志宇.刘子轩.年光宇.邢云淇.张良 我们这次团队项目内容是爬取豆瓣电影TOP250的电影信息,为什么我们选这个项目作为团队项目呢?因为在这个大数据时代,我们总有一些信息需要收集保存,而手动收集信息会很麻烦,所以选了爬取豆瓣TOP250,其实,项目爬取什么网站.内容并不重要,因为我们在这次团队项目中学会了爬虫的工作原理,以后我们想爬取别的网站那都不是事了. 这次团队项目中

Forward团队-爬虫豆瓣top250项目-需求分析

一. 需求:1.爬取豆瓣电影top250. 2.获取电影名称,排名,分数,简介,导演,演员. 3.将爬取到的数据保存,以便随时查看. 3.可以将获取到的数据展示给用户. 二. 参考: 豆瓣api参考资料 小试牛刀--利用豆瓣API爬取豆瓣电影top250 三. 实施做法:用html分析网站源码,运用python编写爬虫,调用数据库进行存储和豆瓣api.json方法. 四. 特点:程序操作简单,方便,让用户一目了然. 项目团队:Forward团队

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

托管平台地址:https://github.com/xyhcq/top250 小组名称:Forward团队 小组成员合照: 程序运行方法: 在python中打开程序并运行:或者直接执行程序即可运行 程序运行示例及运行结果: 运行程序按照提示操作: 可以按照需求设置程序抓取内容 运行结束 可在文件中查看爬取结果

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

项目托管平台地址:https://github.com/xyhcq/top250 我负责将爬取到的信息写入到文件中. 首先,先打开一个文件 # 打开文件 f=open("top250.txt","w") 然后在别的队员写的能够爬取出信息的代码上,加入将信息写入文件的的代码 def getData(html): # 分析代码信息,提取数据 soup = BeautifulSoup(html, "html.parser") # 找到第一个class属

Forward团队-爬虫豆瓣top250项目-成员简介与分工

马壮:擅长html,css,分工:分析网站源码 邢云淇:掌握python,java 分工:爬虫部分代码编写 张良:熟练掌握数据库 分工:数据库部分代码编写 年光宇:掌握c#,python 分工:代码整合 李志宇:掌握c#,python 分工:代码整合 刘子轩:精通python.java 分工:bug查找与调试

Forward团队-爬虫豆瓣top250项目-团队编程项目开发环境搭建过程

需要python环境 开发软件.开发环境安装: python2.7.5: 安装pycharm(社区版):

简单团队-爬虫豆瓣top250项目-设计文档

项目介绍: 功能需求: 面向用户: 未来规划: 以上内容源自于在课上做的ppt内容,绝对本组ppt,并且真实有效.