赞
踩
前言:
本着跟大家一同探讨学习的态度,今后几期文章会更新一些用python实现爬虫&可视化的文章。Python对于本人来讲也是一个在逐渐学习掌握的过程,这次的内容就从旅游开始讲起,进入正文前首先附(fang)上(du)最令我垂涎欲滴的海鲜盛宴。
数据爬取:
最近几天朋友圈被大家的旅行足迹刷屏了,惊叹于那些把全国所有省基本走遍的朋友。与此同时,也萌生了写一篇旅行相关的内容,本次数据来源于一个对于爬虫十分友好的旅行攻略类网站:蚂蜂窝
PART1:获得城市编号
蚂蜂窝中的所有城市、景点以及其他的一些信息都有一个专属的5位数字编号,我们第一步要做的就是获取城市(直辖市+地级市)的编号,进行后续的进一步分析。
以上两个页面就是我们的城市编码来源,需要首先从目的地页面获得各省编码,之后进入各省城市列表获得编码。过程中需要Selenium进行动态数据爬取,部分代码如下:
- def find_cat_url(url):
- headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
- req=request.Request(url,headers=headers)
- html=urlopen(req)
- bsObj=BeautifulSoup(html.read(),"html.parser")
- bs = bsObj.find('div',attrs={'class':'hot-list clearfix'}).find_all('dt')
- cat_url = []
- cat_name = []
- for i in range(0,len(bs)):
- for j in range(0,len(bs[i].find_all('a'))):
- cat_url.append(bs[i].find_all('a')[j].attrs['href'])
- cat_name.append(bs[i].find_all('a')[j].text)
- cat_url = ['http://www.mafengwo.cn'+cat_url[i] for i in range(0,len(cat_url))]
- return cat_url
-
-
- def find_city_url(url_list):
- city_name_list = []
- city_url_list = []
- for i in range(0,len(url_list)):
- driver = webdriver.Chrome()
- driver.maximize_window()
- url = url_list[i].replace('travel-scenic-spot/mafengwo','mdd/citylist')
- driver.get(url)
- while True:
- try:
-

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。