Skip to content

Latest commit

 

History

History
85 lines (71 loc) · 3.51 KB

README.md

File metadata and controls

85 lines (71 loc) · 3.51 KB

接口现在返回的单车id都是6666...

360验证码平台被封,注册机暂时也不能用了。

ofo共享单车地图爬虫

感谢您的支持
朋友要做城市数据的一些研究,拜托我写ofo地图的小爬虫
最初的看到了derekhe大神写的单车地图,觉得非常的优秀。
但是单车地图由于官方不断封杀爬虫的行为,被迫关闭了。
derekhe写的爬虫也没办法使用了,于是参考了derekhe的代码。
对现在ofo的api进行了分析,甚至还写了个ofo的token注册机,
实现了对ofo附近单车位置的爬取。

如果这个程序帮助到了你,请动动手指,给个Star!

Stargazers over time

Stargazers over time

该爬虫为ofo附近单车爬虫

  • 新增ofo注册机
  • 目前只支持ofo
  • 多线程爬取
  • 自动去重
  • 输出csv文件,存放在db/【日期】/【日期】-【时间】-【品牌】.csv文件内
  • gzip压缩存储

运行环境

  • Python3
  • Linux/Mac/Windows

请根据你的需要修改配置文件config.ini,请查看内置说明。

Linux/Mac

  • 下载最新代码并解压
  • 修改config.ini确保坐标和区域等参数正确
  • 运行:
pip3 install -r requirements.txt
python3 run.py

Windows

  • 下载最新代码并解压
  • 安装好python3.5.3
  • 在cmd中执行pip install -r requirements.txt
  • 修改config.ini确保坐标和区域等参数正确
  • 在cmd执行python run.py

输出格式

输出格式:CSV

每行格式:时间戳,单车编号,纬度,经度

关于token

很多人来问我token的取法,问得人多了,我就认识到了写好文档的重要性
token是发出获取附近单车请求的必要字段,保存在ofo账号登录后cookie,
具体获取方法如下所示
  • 使用chrome浏览器访问https://common.ofo.so/newdist/?Login&~next=%22%3FJourney%22
  • 输入你的账号验证码成功登陆后(强烈建议使用没有押金的小号,被封后果自负)
  • 点击地址栏左边“安全”查看当前网站cookie信息
  • 然后我们就可以在ofo.so域下发现我们当前账号的token

图1 图2

关于批量获取token——ofo注册机

这个注册机写的不是很好,毕竟用到了个人不喜欢的selenium,
打码,接码,记录token能够全部自动化,
日后可能会再修改。
  • 确保你安装了chrome浏览器,之后打开设置->关于chrome查看chrome的版本
  • 访问http://blog.csdn.net/huilan_same/article/details/51896672 查看版本对应的chromedriver
  • 访问http://chromedriver.storage.googleapis.com/index.html 下载对应的chromedriver
  • 修改ofoRegister/login.py下start()函数中chromedriver你所放置的路径
  • 访问http://www.360yzm.com/ 360验证码平台注册账号,进行充值(1个账号1毛钱),并在login.py对应的位置填入你的账号密码
  • 访问http://www.ruokuai.com/ 若快打码平台注册账号,进行充值(识别一条验证码好像是一分钱),并在login.py对应的位置填入账号密码
  • 按需修改ofoRegister/login.py下start()函数中for循环的次数,每次循环生成一个账号
  • 最后,在ofoRegister目录下执行python login.py(提示缺少哪个包就用pip安装哪个包)
  • 最后就会在ofoRegister目录下生成一个写有token的txt文件