摩拜单车的API返回的是一个正方形区域中的单车,我只要按照一块一块的区域移动就能抓取到全部大年夜区域的数据。
数据分析显示3公里以下的出行舅鏊榧据了87.2%,这也十分相符共享单车的定位。100米以下的距离也占据了大年夜量的数据,但认为100米以下的数据为GPS的波动,所以予以清除。
left,top,right,bottom定义了抓取典范围,今朝是成都会绕崇高速之内以及南至南湖的┞俘方形区域。offset定义了抓取的距离,如今以0.002为基准,在DigitalOcean 5$的办事器上可以或许15分钟内抓取一次。
- def start(self):
- left = 30.7828453209
- top = 103.9213455517
- right = 30.4781772402
- bottom = 104.2178123382
- offset = 0.002
- if os.path.isfile(self.db_name):
- os.remove(self.db_name)
- try:
- with sqlite3.connect(self.db_name) as c:
- c.execute('''CREATE TABLE mobike
- (Time DATETIME, bikeIds VARCHAR(12), bikeType TINYINT,distId INTEGER,distNum TINYINT, type TINYINT, x DOUBLE, y DOUBLE)''')
- except Exception as ex:
- pass
然后就启动了250个线程,至于你要问我为什么没有效协程,哼哼~~我当时没学~~~其实是可以的,说不定效力更高。
因为抓取后须要对数据进行去重,以便清除小正方形区域之间反复的部分,最后的group_data恰是做这个工作。
骑行次数
- executor = ThreadPoolExecutor(max_workers=250)
- print("Start")
- self.total = 0
- lat_range = np.arange(left, right, -offset)
- for lat in
推荐阅读
云端定价比较:AWS、Microsoft Azure、Google Cloud、IBM Cloud之间的对决
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散因为重要的云供给商(AWS、Azure、谷歌和IBM)的云实例价格的持续降低,是以它们增长了扣头选项、增长了实例,并在某些情况下将计费增量降到了按秒>>>详细阅读
本文标题:我是怎样爬下6万共享单车数据并进行分析的(附代码)
地址:http://www.17bianji.com/lsqh/39482.html
1/2 1