查看原文
其他

北方明珠-大连等你

Peter 尤而小屋 2022-05-28

北方明珠-大连等你

全国城市旅游攻略第5篇终于来了!分享的是东北一个海滨城市:大连。前面4个城市分别是:

读者问题

前几天有位读者看了之前关于厦门旅游的文章,在他的电脑上运行代码的时候遇到一个问题:

很明显报错显示的就是编码出现问题,后来我帮他解决了:

url = "https://travel.qunar.com/p-cs299782-xiamen-jingdian-1-1"

headers = {"user-agent""个人请求头",
           # headers参数添加下面的内容即可解决
           "referer": url.encode("utf-8").decode("latin1")   
          }

response = requests.get(url=url,headers=headers)
result = response.content.decode()

每个人的系统以及系统自带的编码可能不同,所以需要根据报错灵活地处理下

认识大连

来自维基百科的一段介绍

大连市(英语:Dalian 或 Dairen),旧称旅大市,别称鲲城滨城,旧名达尔尼(俄语:Дальний;英语:Dalniy)、带连青泥洼

大连地处黄渤海之滨,与山东半岛隔海相望,冬无严寒,夏无酷暑,素有“北方明珠”、“浪漫之都”之称,是中国北方沿海重要的经济、金融、贸易、港口、工业、旅游城市。2001年大连成为中国第一个被联合国环境规划署授予“全球环境500佳”的城市

观察下面的地形图,整个大连市管辖着7区2市1县

数据来源

数据来自网上的某公开网站,具体获取过程参考两篇文章:

大连景点

景点分布

爬取到的数据中显示了大连的1183个大大小小的景点

df1 = pd.read_csv("大连景点.csv")

具体看下大连景点分布:

location = df1["location"].value_counts().reset_index()
location.columns=["location","number"]
fig = px.bar(location[::-1],x="number",y="location",orientation="h",text="number")
fig.update_traces(textposition="outside")
fig.show()

景点主要还是在大连市区,各个管辖的县市相对较少,具体景点占比:

fig = px.pie(location,
             names="location",
             values="number",
             color="number"
            )

fig.update_traces(
    textposition='inside',   # 文本显示位置:['inside', 'outside', 'auto', 'none']
    textinfo='percent+label'
)

fig.show()

攻略之王

我们取出攻略数排名前10的景点

strategy = df1.sort_values("strategy",ascending=False)[:10]

fig = px.bar(strategy,
           x="cn_title",
           y="strategy",
           color="strategy",
           text="strategy")

fig.update_traces(textposition="outside")

fig.show()

评论之王

comment = df1.sort_values("comment",ascending=False)[:10]

fig = px.bar(comment,
           x="cn_title",
           y="comment",
           text="comment")

fig.update_traces(textposition="outside")
fig.show()

通过攻略数和评论数的整体分布来看看景点的热门情况:

fig = px.scatter(ranking[:10],x="strategy",y="comment",color="strategy",text="cn_title")

fig.update_traces(textposition="top center")
fig.show()

观察发现大连有几个热门景点:

  1. 星海广场
  2. 金石滩度假区
  3. 老虎海洋公园
  4. 大连圣亚海洋世界
  5. 星海公园
  6. 滨海路

再看看景点在游客心中的排名:

海边景点

大连也是一个靠海的城市,和厦门一样。我们看看景点中哪些是和水(海)相关的:采用的是模糊匹配的方式

# df2和水相关的景点

water_attractions = df1[(df1["cn_title"].str.contains("海")) | (df1["cn_title"].str.contains("岛")) | (df1["cn_title"].str.contains("水")) | df1["cn_title"].str.contains("港") | df1["cn_title"].str.contains("湾")]

的确是挺多的,高达226个!!!

公园

看下大连的公园:

park = df1[df1["cn_title"].str.contains("园")]

共个数高达239个,看下前5个:

尤其是老虎滩海洋公园和大连森林动物园评论和攻略数不在少数,挺热门的。

广场

每个城市都有自己的广场,而且很多城市都有自己的中山广场,大连也不例外,通过分析数据,大连广场数有92个:

其中:星海广场、中山广场、东港音乐喷泉广场算是其中热门的景点;其中中山广场中有很多的欧式建筑,值得参观!!!

旧址

因为大连是个港口城市,且靠近日韩邻国,在上个世纪经历了很多的战争,留下许多的战争旧址,统计数量有54个,看看都有哪些(前10个):

['日俄监狱旧址博物馆''大和旅馆旧址''水师营会见所旧址'
 '肃亲王府遗址''大连派出所旧址''满铁大连图书馆旧址'
 '满铁中央实验所旧址''东洋拓殖株式会社大连支店旧址'
 '石门山遗址''满铁旧址阵列馆''土城子阻击战遗址',
 '满铁本社旧址''郭家村新石器遗址''牧羊城遗址'
 '城守尉旧址''南满洲工业专门学校旧址''日本圣德太子纪念堂旧址'
 '大连基督教会堂旧址''露西亚町旧址''满蒙物产陈列馆考古部旧址'
 '市政协旧址''大连中国税关旧址''中共大连工委旧址''苏联领事馆旧址'
 '北洋水师海军公所旧址''德国人商会旧址''康德女塾学校旧址',
 '清军北洋医院旧址''土地调查部旧址''井上禧之助官邸旧址'
 '警官练习所旧址''关东宪兵司令部旧址''关东军陆防副司令官邸旧址',
 '赤十字医院旧址''普希金小学校旧址''关东州总督府旧址''关东州厅旧址',
 '旅顺师范学堂旧址''俄清银行旅顺分行旧址''旅顺工科大学旧址',
 '日本关东法院旧址陈列馆''小珠山遗址''西大山碑遗址公园',
 '日本大连递信局旧址''横滨正金银行大连支店旧址''中国银行大连支店旧址'
 '大连市委旧址''大连市人民政府旧址''大和旅馆旧址''民政署旧址'
 '关东银行旧址''中华工学会旧址纪念馆''旅顺日本关东法院旧址''关东军司令部旧址陈列馆']

可以看到很多的旧址都是和**满洲、日本(关东)**相关,历史的痕迹很明显

学校

最后我们看看大连的学校,最为出名的应该是大连理工大学和大连海事大学,除了它们之外还有哪些呢?

school = df1[(df1["cn_title"].str.contains("大学")) | (df1["cn_title"].str.contains("学院")) | (df1["cn_title"].str.contains("学校")) ]

# 打印具体学校的名字
print(school["cn_title"].tolist())
['大连理工大学''大连海事大学''东北财经大学''鲁迅美术学院-艺术博物馆''大连外国语学院''大连交通大学''大连工业大学''大连艺术学院''辽宁对外经贸学院图书馆-主馆''南满洲工业专门学校旧址''大连外国语大学-校史馆''民族学院图书馆''创炫足球学院''大连理工大学开发区校区会展中心''大连工业大学金州校区美术展览馆''鲁迅美术学院大连校区''东北财经大学MBA学院''大连海洋大学''康德女塾学校旧址''普希金小学校旧址''旅顺工科大学旧址''大连大学博物馆''大学城''大连医科大学''海军大连舰艇学院']

统计数量有25个,比如:东北财经大学、海军大连舰艇学院都挺有名的

海军大连舰艇学院:海军大连舰艇学院,是经毛泽东主席亲自批准成立的新中国第一所正规高等军事学府👍

旅顺

旅顺也是大连的一个热门旅游地方,看下它的热门景点:

lvshun = df1[(df1["location"] == "旅顺") & (df1["ranking"] != 0)].sort_values("ranking",ascending=True)[:10]

fig = px.scatter(lvshun,x="comment",y="strategy",color="strategy",text="cn_title")

fig.update_traces(textposition="top center")

fig.show()

景点推荐

通过数据汇总统计大连的景点,做出如下推荐:

  • 热门景点:星海公园、老虎滩海洋公园、金石滩度假区、星海广场、东方威尼斯水城、滨海路、大连圣亚海洋世界
  • 学校:大连理工大学、大连海事大学、海军大连舰艇学院
  • 博物馆、旧址:日俄监狱旧址博物馆、大连自然博物馆、旅顺博物馆等

大连美食

从地理位置来看,大连是一个东北靠海的城市。整体爬到的数据有2000条,看看当地都有哪些美食。

1、数据前期进行了处理:

df1 = pd.read_csv("大连美食.csv")

# 替换--
df1["得分"] = df1["得分"].apply(lambda x: x.replace("--","0"))

# 字符串转成数值型数据
df1["得分"] = df1["得分"].astype("float64")
df1

2、数据信息探索

海鲜

海滨城市肯定是不能少了海鲜,看看有哪些“海”的店(前10名)

df2 = df1[df1["中文名"].str.contains("海")].reset_index(drop=True)
df2.head(10)

数据中总共有172个,我们从前10个数据中观察到:海味当家应该是大连的海鲜连锁店,值得一试!

饺子馆

到了东北,肯定少不了吃饺子🥟:

dumplings = df1[df1["中文名"].str.contains("饺子")].reset_index(drop=True)
dumplings.head(10)   # 取出前10行数据

当我们打印出前10行数据发现:东北的饺子好像并没有那么便宜,可能是量大吧

日本料理

由于地理位置和历史的原因,大连有很多日本料理店,如果你喜欢,不妨去尝尝:

liaoli = df1[df1["中文名"].str.contains("日本") | df1["中文名"].str.contains("料理") ].reset_index(drop=True)
liaoli.head()  # 查看前5行数据

我们发现:胜代日本料理在大连或许是不错的选择!数据中料理店的数量也达到了46家

星海美食

在大连景点的数据分析中我们发现:星海广场是一个热门的景点,那广场中有哪些好吃的?

xinghai = df1[df1["中文名"].str.contains("星海")].reset_index(drop=True)
xinghai.head(10)

看看上面前10的数据,星海广场肯定是大连的高档消费地呀😄

推荐菜词云

最后我们看看网友都推荐了哪些好吃的大连美食:

1、推荐菜转成列表形式:

# 存在推荐菜的数据做成词云图

rec_list = df1[df1["推荐菜"] != "无"]["推荐菜"].tolist()   # 挑选出存在推荐菜的数据
rec_list[:3]

2、分词过程

# 分词过程
rec_jieba_list = []
for i in range(len(rec_list)):
   # jieba分词
    seg_list = jieba.cut(str(rec_list[i]).strip(), cut_all=False)
    for each in list(seg_list):
        rec_jieba_list.append(each)

3、词频统计

rec_result = pd.value_counts(rec_jieba_list)[1:].to_frame().reset_index().rename(columns={"index":"词语",0:"次数"})
rec_result

4、绘图过程

rec_words = [tuple(z) for z in zip(rec_result["词语"].tolist(), rec_result["次数"].tolist())]

c = (
    WordCloud()
    .add("", rec_words, word_size_range=[2080], shape=SymbolType.DIAMOND)
    .set_global_opts(title_opts=opts.TitleOpts(title="大连美食推荐菜词云"))
)

c.render_notebook()

5、最后我们挑选出前80个词语,看看效果:

# 前80个词语

c = (
    WordCloud()
    .add("", rec_words[:80], word_size_range=[2080], shape=SymbolType.DIAMOND)
    .set_global_opts(title_opts=opts.TitleOpts(title="大连美食推荐菜词云"))
)

c.render_notebook()

通过大连美食的词云图,我们看到:

  1. 大连虽然是东北的城市,但是由于地理位置靠海,海鲜还是挺多的:海鲜、鳗鱼、金枪鱼、鲶鱼等
  2. 因为日韩饮食文化的输入,比如石锅拌饭、烤肉、料理在大连也很盛行

往期精选

尤而小屋,一个温馨的小屋。小屋主人,一手代码谋求生存,一手掌勺享受生活,欢迎你的光临😃


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存