python自动化爬取豆瓣电影top250数据

import re
import time
import pandas as pd


#打开浏览器,打开豆瓣电影250排行榜
driver = webdriver.Chrome(r'C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\chromedriver.exe')
driver.get('https://movie.douban.com/top250')

#浏览器最大化
driver.maximize_window()

def search_product():

    divs = driver.find_elements_by_css_selector('.item')


    temp = []
    for div in divs:
        #排名
        index = div.find_element_by_css_selector('.pic').text

        #电影名称
        name = div.find_element_by_css_selector('.hd a:first-child span:first-child').text

        #信息(这个标签的数据是一个长字符串(如'导演: 弗兰克·德拉邦特 Frank Darabont   主演: 蒂姆·罗宾斯 Tim Robbins /...1994 / 美国 / 犯罪 剧情'),所以要用正则表达式切片出来)
        info = div.find_element_by_css_selector('.info .bd p:first-child').text

        #导演   A(.*?)B  表示在取字符串里AB之间的字符串,取出格式是列表,所以用索引取出来
        director = re.findall('导演: (.*?) ',info)[0]

        #上映年份  \d+ 表示去字符串中匹配一位或者多位数的数字时
        year = re.findall('\d+',info)[0]

        #国家
        area = re.findall('/ (.*?) /',info)[0]

        #类型  split方法是将字符串中用'/'分割开来,因为是列表,所以去索引去最后一个值
        type = re.split('/',info)[-1]

        #评分和评价人数
        star = div.find_element_by_css_selector('.star span:nth-child(2)').text
        num = div.find_element_by_css_selector('.star span:last-child').text

        #短评,部分电影短评为空,所以捕获定位报错后让短评内容=无
        try:
            quotes = div.find_element_by_css_selector('.quote span:first-child').text
        except NoSuchElementException:
            quotes = '无'


        #依次传入列表
        temp.append([index,name,director,year,area,type,star,num,quotes])
    return temp



list1 =[]
while True:
    list1 +=search_product()
    time.sleep(3)

    page = driver.find_elements_by_css_selector('.next a:nth-child(2)')
    #当定位到最后一页时,找不到该元素就停止
    if len(page) ==0:
        break
    else:
        driver.find_element_by_css_selector('.next a:nth-child(2)').click()
        time.sleep(3)


df = pd.DataFrame(list1,columns=['index','name','director','year','area','type','star','num','quotes'])
df.to_excel(r'C:\\Users\\Administrator\\Desktop\\douban.xls')

driver.close()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 为了爬取豆瓣电影Top250,并进行简单的最新可视化分析,我们需要先了解一下爬虫和数据分析的基础知识。 爬虫是一种自动化程序,可以模拟人类浏览网页的行为,从网页中提取出所需的信息。在我们的情况下,我们需要爬取豆瓣电影Top250列表。 首先,我们需要使用Python编写一个爬虫程序,使用Web scraping技术访问豆瓣电影的网页,并提取出电影名称、评分、导演、主演等信息。可以使用Python中的第三方库BeautifulSoup或Scrapy来实现网页解析和数据提取的功能。 爬取数据后,我们可以使用Python中的Pandas进行数据处理和分析。首先,我们可以将爬取的信息保存为CSV或Excel文件,方便后续的数据分析操作。 接下来,我们可以使用Python中的Matplotlib或Seaborn库进行数据可视化分析。可以通过绘制柱状图、条形图、散点图等来展示电影评分、导演、主演等数据之间的关系。可以使用电影评分作为横轴,电影名称作为纵轴,绘制出豆瓣电影Top250的评分分布图。 此外,我们还可以使用Python中的WordCloud库来生成电影关键词的词云图。可以通过对电影名称、导演、主演等字段进行文本分析,提取出关键词,并将其可视化为词云图,展示出豆瓣电影Top250的特点和概况。 在完成数据可视化分析后,我们可以对电影的评分进行排序,找出豆瓣电影Top250中评分最高或最低的电影,并进行详细的电影分析和评论统计。 综上所述,通过爬虫爬取豆瓣电影Top250,并进行简单的最新可视化分析,我们可以从整体和细节上了解豆瓣电影Top250的特点、评分分布以及电影关键词等信息。这个过程需要用到Python编程和相关的数据处理、可视化分析库。 ### 回答2: 爬虫是一种自动化程序,它可以模拟人的行为在网页上获取数据。利用爬虫技术,我们可以爬取豆瓣电影网站上的电影信息,比如评分、评价人数、导演、演员等等。而豆瓣电影TOP250榜单是根据用户的评分和评价人数来排序的,因此非常适合用来进行分析。 首先,我们需要使用爬虫技术来获取豆瓣电影TOP250的电影信息。我们可以利用Python编写爬虫程序,使用合适的库如Requests和BeautifulSoup来发送HTTP请求并解析网页内容,从中提取出我们需要的电影信息。 获取到电影信息后,我们可以进行一些简单的最新分析。比如,我们可以计算TOP250电影的平均评分、评价人数的平均数等。这些数据将帮助我们了解整个TOP250榜单的质量和受欢迎程度。 此外,我们还可以对电影的类型、导演、演员进行分析。通过统计TOP250榜单中各个类型、导演、演员的出现次数,我们可以了解到哪些类型的电影、哪些导演、哪些演员更受欢迎。 最后,为了更好地展示分析结果,我们可以使用数据可视化工具如Matplotlib或Seaborn来生成图表。比如,我们可以绘制出TOP250电影的评分分布图,或者使用饼图展示TOP250电影中各个类型的比例等。 综上所述,通过爬虫爬取豆瓣电影TOP250并进行简单最新分析,我们可以了解到TOP250电影的整体质量和受欢迎程度,以及各种类型、导演、演员在榜单中的表现。通过数据可视化,我们可以更直观地展示分析结果。这些分析可帮助电影制片方或观众了解电影市场的趋势和受欢迎的电影特点。 ### 回答3: 爬虫是一种自动化工具,可以帮助我们从互联网上获取数据。通过使用爬虫,我们可以爬取豆瓣电影网站的TOP250电影信息,并进行可视化分析。 首先,我们需要使用Python编写一个爬虫程序。该程序使用爬虫框架(如Scrapy或BeautifulSoup)来从豆瓣电影网站中获取电影的相关信息,例如电影名称、评分、导演、演员等。我们可以设置一个循环,逐页爬取TOP250电影的信息,并将爬取数据保存到本地文件中。 接下来,我们可以将保存的数据加载到数据分析工具(如Pandas)中进行分析。我们可以通过统计电影评分的分布情况、观察评分与电影类型之间的关系,或者分析电影导演的数量分布等等。这些分析可以帮助我们了解豆瓣电影TOP250的特点和趋势。 在可视化方面,我们可以使用数据可视化工具(如Matplotlib、Seaborn或Plotly)创建图表、图像和可视化效果,以更直观地展示数据分析的结果。例如,我们可以根据电影评分绘制直方图或密度图,用饼图展示不同类型电影的占比,或者绘制演员和导演之间的网络图。 最后,我们可以将可视化结果输出为图片或HTML文件,以便与他人分享或展示。此外,我们还可以将可视化结果整合到Web应用程序或数据报告中,提供更丰富的交互和展示效果。 总而言之,通过爬虫爬取豆瓣电影TOP250并进行可视化分析,可以帮助我们更深入地了解豆瓣电影排行榜的特点和变化趋势,以及电影评分、类型和导演之间的关系。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值