爬取图片,数据可视化

统计各地门店的数量

import requests


resp = requests.get(
    'https://www.apple.com.cn/retail/storelist/',
    headers={'user-agent':'Mozilla/5.0'}
)

if resp.status_code == 200:
    print('访问成功')

通过Xpath来分析

通过Xpath来定位到想要的位置

from lxml import etree

tree = etree.HTML(resp.text)
prevs = tree.xpath("//div[@class='address-lines']/span/text()")
#address = tree.xpath('//*[@id="accordion-region-上海"]/div/div[1]/div/span/a')

data = dict()
for prev in prevs:
    if prev != ',' and prev != ' ':
        if not prev in data.keys():
            data[prev] = 1
        else:
            data[prev] += 1
print(data)

for key,value in data.items():
    print(key,value)

在这里插入图片描述

使门店数量可视化

import pandas as pd
import csv
Apple_store = {'上海': 7, '昆明': 1, '北京': 5, '成都': 2, '天津': 3, '济南': 1, '青岛': 1, '广州': 2, '深圳': 1, '南宁': 1, '南京': 3, '无锡': 1, '苏州': 1, '郑州': 1, '宁波': 1, '杭州': 2, '武汉': 1, '长沙': 1, '厦门': 1, '福州': 1, '大连': 2, '沈阳': 2, '重庆': 3}

with open('Apple_store.csv','w',newline='',encoding='utf-8') as f:
    writer = csv.writer(f)
    for row in Apple_store.items():
        writer.writerow(row)

#给csv文件添加表头
df = pd.read_csv('Apple_store.csv',header=None,names=['区域','数量'])
df.to_csv('Apple_store.csv',index=False)
        
import pandas as pd

df = pd.read_csv('Apple_store.csv',encoding="utf-8")

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

df.plot(
        kind = 'bar',
        x = '区域',
        y = '数量',
        title = '苹果商店分布',
)
plt.show()

在这里插入图片描述

import numpy as np
import pandas as pd


data = pd.read_csv('Apple_store.csv')

data = data.groupby('区域').sum()['数量'].sort_values(ascending=False)

# print(data.index)
# print(data.values)

#制作饼图
plt.pie(data.values,labels=data.index,autopct='%d')
plt.legend(data.index)
plt.show()

在这里插入图片描述

图片爬取

通过xpath来定位得到图片的链接,将两个链接结合,通过向浏览器发送请求,就得到图片

img_number = tree.xpath("//div//span//a/@data-store-number")
#print(img_number)
url1 = 'https://rtlimages.apple.com/cmc/dieter/store/16_9/'
url2 = '.png?resize=375:211&output-format=jpg&output-quality=85&interpolation=progressive-bicubic'

img_address = tree.xpath('//div//address/text()[1]')
# print(img_address)


#将图片的网址组合起来
# 要将url变成列表,方便遍历

image_url = [url1+str(i)+url2 for i in img_number]
# print(image_url)    

for url,address in zip(image_url,img_address):
    print(url,address)

path='D://jupyter_study/爬虫/apple_store image//'
for url,address in zip(image_url,img_address):
    url = url
    title = address+'.jpg'
    
    #通过向网页再次返送访问请求
    response = requests.get(url=url)
    with open(path+title,'wb') as f:
        f.write(response.content)
    print('下载成功'+title)


path='D://jupyter_study/爬虫/apple_store image//'
for url,address in zip(image_url,img_address):
    url = url
    title = address+'.jpg'
    
    #通过向网页再次返送访问请求
    response = requests.get(url=url)
    with open(path,'wb') as f:
        f.write(response.content)
    print('下载成功'+title)
### 回答1: 要实现Python电影爬取数据可视化,需要使用Python的爬虫库和数据可视化库。 首先,要使用Python的爬虫库进行电影信息的爬取。可以使用requests库来发送HTTP请求并获取电影网站的页面内容,然后使用BeautifulSoup库来解析页面内容,提取出电影的信息,例如电影名称、导演、演员、评分等。 接下来,可以使用Python数据可视化库来将爬取到的电影信息进行可视化展示。常用的数据可视化库有Matplotlib和Seaborn。可以使用Matplotlib来绘制各类图表,例如柱状图、折线图、散点图等,用于展示电影的评分分布、导演和演员的出演频率等信息。如果需要更加美观的图表,也可以尝试使用Seaborn库。 除了使用Matplotlib和Seaborn绘制图表外,还可以使用其他的数据可视化库来展示电影信息。例如,可以使用Plotly库来创建交互式图表,让用户可以自由地进行放大、缩小和查看详细信息。此外,还可以使用Pandas库对爬取到的电影信息进行数据处理和分析,并使用其内置的可视化工具绘制图表。 总结起来,要实现Python电影爬取数据可视化,需要使用Python的爬虫库进行信息爬取,然后使用数据可视化库将爬取到的电影信息进行可视化展示。通过合理选择和使用相关库,可以实现多样化的电影信息可视化效果。 ### 回答2: Python是一种流行的编程语言,可以用于从网上爬取电影数据并对其进行数据可视化。首先,我们可以使用Python中的一个网络爬虫库,如BeautifulSoup或Scrapy,来从电影网站上爬取电影信息。 这可以通过向网站发送HTTP请求并解析响应的HTML来实现。 一旦我们获得了电影数据,我们可以使用Python中的各种数据处理和分析库,如Pandas和Matplotlib,来对数据进行可视化。 首先,我们可以使用Pandas将数据转换为每部电影具有的特定字段(如电影名称,导演,演员,评分等)的表格形式。 然后,利用Matplotlib等库绘制各种图表,如条形图、饼图和散点图等,来展示电影数据的各个方面。 例如,我们可以绘制一张电影评分的分布图,以展示电影评分的分布情况。 这样可以帮助我们了解电影的受欢迎程度和观众对电影的反应。 另外,我们还可以根据电影类型,绘制各个类型电影的数量条形图,以展示不同类型电影的比例和受欢迎程度。 我们还可以使用地理信息库,如Folium,将电影数据与地理位置相关联,绘制热力图来展示不同地区的电影拍摄数量。 这样可以帮助我们了解电影产业在不同地区的发展情况,并为电影拍摄的选择提供参考。 Python的强大和灵活性使得电影数据的爬取和可视化变得非常简单和高效。 从爬取数据到进行数据清洗和可视化,Python可以帮助我们对电影数据进行深入的分析和研究。 ### 回答3: Python是一种功能强大的编程语言,可以用于爬取电影数据并进行数据可视化。下面是一个简单的步骤来完成这个任务。 首先,我们需要使用Python中的爬虫库(例如BeautifulSoup或Scrapy)来抓取电影数据。可以选择使用网站上的API或者直接爬取网页上的信息。使用爬虫库可以很容易地提取电影的标题、评分、导演、演员等信息。 然后,我们可以使用Python中的数据处理库(例如pandas)来清洗和分析爬取的数据。可以对数据进行排序、筛选、去重等操作,以确保数据的准确性和可用性。 接下来,我们可以使用Python中的数据可视化库(例如matplotlib或seaborn)来创建图表和图形,将电影数据可视化。可以用条形图、折线图、散点图等不同的方式来展示数据,使其更加直观和易于理解。 除了电影数据本身,我们还可以将爬取的数据与其他来源的数据进行结合,从而得到更有趣和有洞察力的可视化结果。例如,可以将电影评分与票房收入进行对比,或者将电影类型与观众的评分进行关联分析。 最后,我们可以将数据可视化结果导出为图片、PDF或网页,以便与他人共享或在项目中使用。可以选择将可视化结果嵌入到网站或应用程序中,或者将其打印出来以供讨论和展示。 总之,通过使用Python进行电影数据爬取和可视化,我们可以更好地理解电影行业的趋势和特点,并从中获取有价值的信息。同时,这也是一个很好的学习Python编程和数据处理的机会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值