'''

Copyright (c) 2019.11.23 陈良辉 All rights reserved

本爬虫程序能实现的功能:

1.爬取苹果官网中国店的网页源码,并且解析

2.绘制中国各城市苹果店个数的条形图

3.保存中国所有苹果店的店面图

4.支持城市-具体地址、号码及图片的显示

'''

import requests

from bs4 import BeautifulSoup

import matplotlib.pyplot as plt

import os

import matplotlib.image as mpimg

#get_html(url)获取网址源码,并且解析

def get_html(url):

res = requests.get(url)

soup = BeautifulSoup(res.text,"lxml")

return soup

#get_adress(html)将城市为key,地区和网址存为value

def get_adress(html):

adr = {}

for country in html.find('div',id ='cnstores').find_all(attrs={'class':'toggle-section'}):

value = []

for city in country.find('h3'):

key = city

for adress in country.find_all('a'):

a = []

a.append(adress.string)

a.append(adress.get('href'))

value.append(a)

adr[key] = value

return adr

#get_chart(data)将获取的数据绘制成条形图

def get_chart(data):

data1 = []

data2 = []

for k,v in data.items():

data1.append(k)

data2.append(len(v))

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['axes.unicode_minus'] = False

plt.bar(data1,data2,color = 'g',align = 'center')

plt.title('苹果官方店中国各城市个数统计图')

plt.ylabel('个数(单位:个)')

plt.xlabel('城市')

plt.show()

#爬取具体页面的地址信息

def get_detail(url):

soup = get_html(url)

print('具体地址及电话:')

for adress in soup.find('div',attrs = {'class':'column large-12 medium-6 small-12 address-store-details'}).find_all(attrs={'class':'hcard-address'}):

print(adress.string)

#选择查询功能

def get_choice(data):

city = input('请输入一个上方统计图中存在的城市名:')

dict = {}

for area in data[city]:

dict[area[0]] = area[1]

print(area[0])

choice = input('请从上方选择一个地区:')

show(choice)

get_detail(dict[choice])

#图片显示

def show(choice):

pic = mpimg.imread('D:\\apple\\'+choice+'.jpg')

plt.imshow(pic)

plt.axis('off')

#下载图片

def get_pic(data):

os.makedirs('D:\\apple')

for k,v in data.items():

for area in data[k]:

url = area[1] + 'images/hero_thumb.jpg'

name = area[0]

r = requests.get(url, stream=True)

open('D:\\apple\\'+name+'.jpg', 'wb').write(r.content)

del r

print('所有图片下载完成,保存在D盘的apple文件内')

def main():

url = 'https://www.apple.com.cn/cn/retail/storelist/'

html = get_html(url)

data = get_adress(html)

get_chart(data)

get_pic(data)

get_choice(data)

if __name__ == '__main__':

main()

python爬取app store的评论_用python爬取苹果官网店铺相关推荐

  1. macbook重装系统 选择方案_重装Mac系统,苹果官网电脑重装,其实很简单

    如何安装 macOS 了解如何将 Mac 操作系统安装到 Mac 或外置驱动器上. 从 Mac App Store 安装 最简单的 macOS 安装方式是从 App Store 应用安装.例如,了解如 ...

  2. python 爬取亚马逊评论_用Python爬取了三大相亲软件评论区,结果...

    小三:怎么了小二?一副愁眉苦脸的样子. 小二:唉!这不是快过年了吗,家里又催相亲了 ... 小三:现在不是流行网恋吗,你可以试试相亲软件呀. 小二:这玩意靠谱吗? 小三:我也没用过,你自己看看软件评论 ...

  3. iphone降级_无刘海 iPhone 现身苹果官网iOS 13.3 系统验证已关闭

    iOS 13.3 验证关闭 今天凌晨,苹果关闭了 iOS 13.3 和 iPadOS 13.3 版本的系统验证,这意味着用户已无法从 iOS 13.3.1 降回 iOS 13.3 了. 苹果发布新版系 ...

  4. iOS小技能:app信息查询(应用内调转到app store进行评论)

    文章目录 前言 I app信息查询 1.1 应用分享 1.2 应用内调转到app store进行评论 1.3 检查版本 see also 前言 应用内调转到app store进行评论:itms-app ...

  5. 苹果app商品定价_苹果官网闹乌龙,千元产品变百元!多人闻风薅羊毛!

    既明说:商家标价错误的事情经常有.之前就发生过很多次商家标错价格.或者单位弄错了,导致大量用户薅羊毛的情况,甚至撸垮了很多店铺.当初就连拼多多的话费BUG,据说也被撸了几千万,最后拼多多认栽.相关内容 ...

  6. 为什么苹果内购总是失败_苹果官网送货流程将改革,最快次日达丨iPhone6s 等钉子户终于要换手机了...

    文字编辑:XC丨插图来自于网络 苹果送货程序将改革 据外媒表示,苹果将利用零售店的库存来进行就近发货方式,主要目的就是为了减少用户收到货的时间. 在此之前,苹果官网下单的用户,无论是那个位置都将是总部 ...

  7. 苹果备份删除有影响吗_苹果官网崩了,对手机的销售有什么影响吗?

    展开全部 随着历史进程的不636f70793231313335323631343130323136353331333433653963断推进,越来越多的人开始重视自己所使用的电子产品,因为一个能够跟得 ...

  8. 苹果开放降级_潮讯:苹果官网又崩了;微信新功能被群嘲;小米11性能跑分;LOL手游封杀加速器;华为新平板有高刷...

    荣耀V40 Pro曝光 有博主爆料称,荣耀 V40 Pro 将采用曲面双打孔屏设计,曲率接近瀑布屏但有望提供不错的手感,孔径较华为 Mate 40 Pro 更小,后置矩阵式多摄模组,至少将包含主摄 + ...

  9. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  10. python为啥爬取数据会有重复_利用Python来爬取“吃鸡”数据,为什么别人能吃鸡?...

    原标题:利用Python来爬取"吃鸡"数据,为什么别人能吃鸡? 首先,神装镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波 ...

最新文章

  1. java计算下周一_java – 如何计算下周?
  2. Java与C++的几个显著不同
  3. Docker可视化工具portainer的安装与使用
  4. 常用的富文本编辑器推荐
  5. python把矩阵堆叠成大矩阵_python numpy 矩阵堆叠实例
  6. 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
  7. GIS专家:云GIS带来的最大影响是体系架构
  8. 20200208(补):翻转游戏Ⅰ Ⅱ(leetcode)
  9. Libliner 中的-s 参数选择:primal 和dual
  10. 文件比较命令:comm
  11. screen命令详解
  12. VB6的事件及其与VB.net的比较
  13. keil-5.25Pro自带jlink驱动调试时自动掉线问题
  14. js保留2位小数(且四舍五入)
  15. 治疗长期失眠的最好食物,不可错过!
  16. 建木持续集成平台v2.2.1发布
  17. 你今天因为 YYYY-MM-dd 被提 BUG 了吗?
  18. win10 wifi图标不见了 解决办法
  19. 955.WLB 不加班公司名单,新增5家公司
  20. 翻译翻译,什么是CAP

热门文章

  1. 计算机关机 休眠睡眠有什么区别,你能分清电脑“休眠”和“睡眠”的区别吗?...
  2. 阿里云短信服务的配置和使用
  3. 制作u盘winpe启动盘_U教授工具如何制作U盘启动盘
  4. CYGWIN安装方法
  5. 牛客练习赛41 E-球的体积并——————几何
  6. matlab里的dsolve,matlab_dsolve
  7. 解决刷GApps时的Error 70报错或64
  8. android 自定义太阳,第一个AOSP安卓10自定义ROM已经可用,并且非常稳定
  9. 51单片机-DS1302时钟芯片(自己理解的
  10. 5814:无根树(技巧:树的直径BFS)