Fork me on GitHub

北方明珠大连等你

北方明珠-大连等你

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

读者问题

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

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

1
2
3
4
5
6
7
8
9
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个大大小小的景点

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

具体看下大连景点分布:

1
2
location = df1["location"].value_counts().reset_index()
location.columns=["location","number"]

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

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

1
2
3
4
5
6
7
8
9
10
11
12
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的景点

1
2
3
4
5
6
7
8
9
10
11
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()

评论之王

1
2
3
4
5
6
7
8
9
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()

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

1
2
3
4
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. 滨海路

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

海边景点

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

1
2
3
# 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个!!!

公园

看下大连的公园:

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

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

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

广场

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

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

旧址

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

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

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

学校

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

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

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

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

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

旅顺

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

1
2
3
4
5
6
7
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、数据前期进行了处理:

1
2
3
4
5
6
7
8
df1 = pd.read_csv("大连美食.csv")

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

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

2、数据信息探索

海鲜

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

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

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

饺子馆

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

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

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

日本料理

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

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

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

星海美食

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

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

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

推荐菜词云

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

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

1
2
3
4
# 存在推荐菜的数据做成词云图

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

2、分词过程

1
2
3
4
5
6
7
# 分词过程
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、词频统计

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

4、绘图过程

1
2
3
4
5
6
7
8
9
rec_words = [tuple(z) for z in zip(rec_result["词语"].tolist(), rec_result["次数"].tolist())]

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

c.render_notebook()

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

1
2
3
4
5
6
7
8
9
# 前80个词语

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

c.render_notebook()

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

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

往期精选

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

本文标题:北方明珠大连等你

发布时间:2021年04月17日 - 16:04

原始链接:http://www.renpeter.cn/2021/04/17/%E5%8C%97%E6%96%B9%E6%98%8E%E7%8F%A0%E5%A4%A7%E8%BF%9E%E7%AD%89%E4%BD%A0.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea