副标题[/!--empirenews.page--]
经常听到别人说“世界那么大,我想去看看”。在有机会走出国门之前,还是先把祖国走一圈吧。都知道中国地广人不稀,旅游资源非常丰富,古文化遗址、抗战遗址、山川、河流等等,在选择目的地的时候,不少人都会非常纠结,不知道去哪更好。为了以后不再纠结,笔者打算深度解析全国的旅游景点分布。
以下进入正题。
01、数据抓取
去哪儿网有着非常丰富的旅游信息,不但几乎涵盖了全国所有景点,而且使用去哪儿网购买景区门票的人也非常多,所以笔者将爬取去哪儿网全国 32 个省市的所有景点数据。(没有抓取香港和澳门的数据,这边的景点并没有分 5A、4A)

去哪儿网的门票服务中暂时还没有开通 API 服务,所以只能对网页解析爬取。要抓取的数据有:景点名、景区等级、地点、景区简述、价格、销量以及热度。

将需要的数据进行定位,一层一层解析,就可以把所需的全部内容抓取下来了。但并不是每一个景点的信息都是全的,所以笔者加了一个 try/except 进去,虽然代码有变长,但是整个程序变得更加健壮。最终,一共抓取了 41611 条景点信息。
- for i in s:
- inf = {}
- try:
- inf['level'] = i.find('span', class_='level').text[0]
- except Exception as e:
- inf['level'] = '0'
- try:
- inf['price'] = i.find('span', class_='sight_item_price').find('em').text
- except Exception as e:
- inf['price'] = ''
- try:
- inf['name'] = i.find('a', class_='name').text
- except Exception as e:
- inf['name'] = ''
- try:
- inf['num'] = i.find('span', class_='hot_num').text
- except Exception as e:
- inf['num'] = ''
- try:
- inf['add_pro'] = i.find('span', class_='area').find('a').text.split('·')[0]
- inf['add_city'] = i.find('span', class_='area').find('a').text.split('·')[1]
- except Exception as e:
- inf['add_pro'] = i.find('span', class_='area').find('a').text
- inf['add_city'] = i.find('span', class_='area').find('a').text
- try:
- inf['hot'] = i.find('span', class_='product_star_level').find('em').get('title').split(':')[1]
- except Exception as e:
- inf['hot'] = ''
- try:
- inf['descri'] = i.find('div', class_='intro color999').text
- except Exception as e:
- inf['descri'] = ''
02、数据分析
5A 级景区

上图为 5A 景区的销量排行,可以看出秦始皇兵马俑遥遥领先,是第二名长隆欢乐世界的 5/3 倍。让笔者没有想到的是欢乐谷游乐园等在前二十名中占了六个席位,所以对于那些想发展旅游业但是没有美丽风景或者历史古迹的城市而言,大力发展游乐园行业是一个不错的选择。广州长隆就是一个鲜活的例子。

(编辑:青岛站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|