美文网首页大数据 爬虫Python AI SqlPython小哥哥
Python爬虫解读哪个景点人少又好玩!

Python爬虫解读哪个景点人少又好玩!

作者: 14e61d025165 | 来源:发表于2019-04-11 14:37 被阅读0次

当客户想知道哪些景点人少又好玩,老板把这个任务交给你,作为业务人员,你选择用哪种方法解题?

image

image

image

image

image

image

image

image

image

image

以上两种工作方式都没错,但如果你是数据思维者,相信你一定更快的升职加薪,因为你有能力壁垒。这个能力壁垒的名字,在这个案例里叫做python。

Python学习群:683380553,有大牛答疑,有资源共享!有想学习python编程的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。

Python在数据界为什么如此重要?我们把上述例子化成流程图:

image

image

可以看到,python几乎解决了数据分析中所有步骤。

使用python=自由,你可以批量爬数据、加载数据、删除数据、修改数据、可视化数据,用数据建模,一套代码,终生受益。这就是python为什么受到数据界推崇的原因,

image

image

我们将使用python爬取某哪儿网站的景点数据,进行景点综合评价分析。

image

image

知识点1:python函数提高效率

Python可以定义函数,这意味着一旦构建完,我们可以通过修改参数的方式快速获取网址,效率比鼠标点击高很多,本次课程将着重讲解如何构建函数:

<pre class="prettyprint hljs python">def get_urls(n):
return ['https://travel.qunar.com/p-cs299878-shanghai-jingdian-1-' + str(i+1) for i in range(n)]

创建函数,获取分页网址

def get_informations(u):
ri = requests.get(u)

requests访问网站

soupi = BeautifulSoup(ri.text,'lxml')

bs解析页面

infori = soupi.find('ul',class_="list_item clrfix").find_all('li')

获取列表内容

datai = []
for i in infori:

print(i.text)

dic = {}
dic['lat'] = i['data-lat']
dic['lng'] = i['data-lng']
dic['景点名称'] = i.find('span',class_="cn_tit").text
dic['攻略提到数量'] = i.find('div',class_="strategy_sum").text
dic['点评数量'] = i.find('div',class_="comment_sum").text
dic['景点排名'] = i.find('span',class_="ranking_sum").text
dic['星级'] = i.find('span',class_="total_star").find('span')['style'].split(':')[1]
datai.append(dic)

分别获取字段内容</pre>

以上代码构建了两个函数,分别是批量获取网址(get_urls)和批量访问网址并获得7个对应的数据字段(get_informations)。

Python学习群:556370268,有大牛答疑,有资源共享!有想学习python编程的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。

写完后,我们只需要输入爬取【多少页】数据,就可以自动运行得到最后的景点数据:

image

image

用此方法,我们将爬取了11个字段的上海景点数据:

image

image

知识点2:爬取清洗分析无缝衔接

Python爬取数据后,可以无缝衔接数据分析和可视化,让分析师快速了解数据情况。在案例中我们会构建一个可视化函数,按照不同的维度评价景点:

<pre class="prettyprint hljs python">import matplotlib.style as psl
psl.use('seaborn-colorblind')
def createfig(col):
dffig = df[['景点名称',col]].sort_values(by = col,ascending = True).iloc[:10]
dffig.index = dffig['景点名称']
dffig.iloc[::-1].plot(kind = 'bar',rot = 90,
title = '%sTOP排名' %col,figsize = (12,6))
plt.grid()

创建函数绘制TOP10的对应指标图片

createfig('点评数量')</pre>

image

image

函数createfig构建完成后,可以通过直接修改需要可视化的维度(比如点评数量),批量出图。

知识点3:Excel神器Powermap演示

地理上的可视化是很多分析师忽略,但效果极佳的一种可视化方式。利用pandas.to_excel功能,我们可以快速导出整理好的数据,放到excel的神器插件powermap里,从空间上看景点的分布及人气和评价:

image

image

相关文章

网友评论

    本文标题:Python爬虫解读哪个景点人少又好玩!

    本文链接:https://www.haomeiwen.com/subject/xlptwqtx.html