Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

derekhe/mobike-crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

28 Commits

Repository files navigation

摩拜单车爬虫

声明:此爬虫仅用于学习、研究用途,请不要用于非法用途。任何由此引发的法律纠纷自行负责。

这个仓库的版本已经很古老了,基于此爬虫的更高级的版本已经在我的《爬虫实战:从数据到产品》一书中详细讲述,请参考:https://item.jd.com/12575102.html

书籍源代码:https://github.com/derekhe/crawler-book

书中全是干货,在介绍共享单车的同时也对共享汽车的爬取思路进行了详细描述。如能购买一本进行阅读,算是对我的莫大的支持。

请注意,此书写于2018年中,当时摩拜单车还能进行爬取,2018年12月他们更新了API,每次返回的数量变少,不能实现大规模的爬取,只能实现小区域的采集。可以借鉴书中思路,自行编写程序。

我的公众的微信bcdata,有问题可以加微信,但由于时间有限,恕不能一一回答,望见谅。

以下是一些老黄历,已经不能用了

该代码爬取摩拜单车的微信小程序接口,以便用于共享单车的分析。 相关文章:

目录结构:

  • \analysis - jupyter做数据分析
  • \influx-importer - 导入到influxdb,但之前没怎么弄好
  • \modules - 代理模块
  • \web - 实时图形化显示模块,当时只是为了学一下react而已,效果请见这里(注:服务端已经关闭,无法正常查看)
  • crawler.py - 爬虫核心代码
  • importToDb.py - 导入到postgres数据库中进行分析
  • sql.sql - 创建表的sql
  • start.sh - 持续运行的脚本

使用前请更新代理池,我这里仅仅提供的是一个样例,里面的代理很有可能已经失效:

r = requests.get("https://jsonblob.com/api/jsonBlob/31bf2dc8-00e6-11e7-a0ba-e39b7fdbe78b", timeout=10)

运行需求

python3 + numpy 组件
  • ujson 被移除,改用了 python自带的 json 以及将ujson.decode换成了json.loads(有些人的电脑是装不上ujson的......) 使用: 代码中的参数经过了@zxj5470的修改...... 原始数据意思左上右下表示理解不能......坐标数值上(纬度上)left比rifht大,(经度)top比bottom数值小。 这样的设定有点反人类啊。
  • 有强迫症的我给改了。下面对于的np.arange也进行了修改并经过测试。
# 作者版本原始数据格式:
 left = 30.7828453209 #左上角点的纬度
 top = 103.9213455517 #左上角点的经度
 
 right = 30.4781772402 #右下角点的纬度
 bottom = 104.2178123382 #右下角点的纬度
 
# 经过zxj5470修改后的:
 left_lng = 103.9213455517 #左上角点的经度
 top_lat = 30.7828453209 #左上角点的纬度
 
 right_lng = 104.2178123382 #右下角点的经度
 bottom_lat = 30.4781772402 #右下角点的纬度
 

About

摩拜单车爬虫

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

AltStyle によって変換されたページ (->オリジナル) /