1、分清楚你需要什么

2、分清楚你应该怎么去拿数据

对于爬取来说,1与2都相当重要,废话就不多说了,直接看图与例子吧,图上的框到文章的最后我会详细解释一下原因,及实现办法

1、pycharm结构如下,兄弟姐妹们注意哈,左侧是结构,故意复制了N个爬虫,别问为什么,不为什么我愿意呗,相信大家干的时候也是愿意的,右侧框是我的例子,需要大家修改的地方,不一定非得fetchall 可以在加一个循环

2、按scrapy的操型,自己在爬虫里边写了一个首次请求,这个首次请求是我当时做测试使用的,一直也就没删除,大家在自己写的时候可以省略这一步

3、循环init里边得到的数据给百度的API传参,得到返回的JSON数据,直至解释完JSON数据,yield回pipelines

yield

4、讲到yield大家想必不会陌生了,那既然要yield,就需要在items 里边准备点东西了,准备的东西也很简单结构如下图

4、pipelines处理如下图

5、言归正传,分清楚你要什么:

5-1、我要百度的参照物,那么百度返回参数物的标准是什么呢?这个问题不太好回复啊,我想略过^_^

5-2、百度提供N种返回参数物的API,现在最常用的geo/v2、place Api、两者的区别在于什么呢,我大体一说,然后大家请详细看一下百度吧,百度地址:http://lbsyun.baidu.com/index.php?title=webapi

5-3、区别

5-3-1、place api如果你想获取数据尽量全,请使用百度提供的行业分类,然后加循环调用百度,这个接口一般普通企业账号一天访问30万次,what? 30万对于爬虫来说够干毛线的,对他就是干毛线的,咱有钱咱怕过谁,你可以申请配额吗 ^_^。

5-3-2、place api 打开一片的方法(城市搜索,矩形搜索,圆型搜索)看到好像都可以,如果你这么认为你就错了,你想要全部的参数物你用城市搜,只在脑袋没什么毛病估计都不会选,圆形呢?首先我是个胖子,我突然想到了如果4个胖子背靠背,那我们围起来的圆柱体呢,就这么莫名的消失了,消失了...那好吧显然只能用最理想的矩形,,然后我就看了一下矩形的方法,一看全是伤心泪啊,百度最多一次只提供 20条,但是你为什么写你可以返回768+条数据呢,然后百度又解释了,你可以翻页获取啊,好吧爬虫翻页这个事情很easy,但百度你为什么又坑人呢,你其实最多就返回400行,你就承认不行?那么问题来了,我要全国的参数物哥,嗯,哥承认了,哥也想要全国的参照物,那咱两个一块干呗

5-4、难点

5-4-1、我讲的是难点哈,不是难度,因人而宜,原理给大家讲一下,把中国左下角,中国的右上角 的两组坐标拿到,拿到了然后干嘛,你说干嘛,切西瓜呗,切西瓜的方式有很多种哈,可以距离切,循环偏移加回定值或加固定目弧度,好吧我又要贴个图了,只贴切西瓜的部分与吃西瓜的部分吧全贴太多

5-4-2、西瓜切完了,那就去读数据库看看数据吧,一看什么感觉,竟然好超过3,4,5,6 忆数据,我的天呐,果断的看一下数据库,是百度提供的place当中poi有很多重复,比如你的行业分类传的饭店,百度当时把”兰料--(兰州料理)“标记成了饭店,在你的左下右上的范围内,结果不知道哪天百度不高兴了,把兰料又标记成了美食,XXXXX二行重复数据,这只是个举例哈,有很多很多的这种情况,让你的DBA去累死吧,反正爬的时候你要没跟我说让我去重,当然你跟我说我也不干,我爬的目的是快,加上这个判断估计两年内爬不完吧,DBA同学你还是自己想想办法吧

5-4-3、place api讲完了,那我们讲geo/v2吧,用placeapi 不是更好吗,是更好,但是企业用户一天给你3万次访问量,你得爬一个世纪吧,我没那个能力挺这么常时间呢哈哈哈哈,所以果断选择geo每天300万次呢,小确兴

6、讲一下大家看到图,我的爬虫文件名都叫cutmap 其实我一点地图都没切,本来是打算把中国地图切分的,两个for下去我看了一下是900万组坐标(左下,右上哈)我就找了一下我的同鞋(照勋,同志,当然他姓丁,我们的关系也不是同志,我叫什么名字在图上有嘿嘿)我跟他说了一句,你帮我地图上取一下左下,右上两组坐标,数据库生成1000米,或着500米左右的坐标组,他讲:“我怎么搞?”,我还是那句话你用脑子搞,还TM怎么搞,结果我后悔了,这货活生生的切了3000万组,我当时就给他点了500个赞,说到这里大家应该知道了,数据怎么切:答案在mysql空间数据类型,你可能ploygon循环了,所以第一图爬虫名都叫cutmap,原因是我切图900组的时候用完了,我直接把代码全删除了,接着使用的cutmap

7、欢迎大家来踩

scrapy+python爬地图参照物应该有的坑及解决办法相关推荐

  1. Python 爬虫中国知网论文过程中遇到的坑及解决办法

    假期,老师给布置了 Python 爬虫中国知网论文的任务,目前实现了登录和搜索功能,先写一下遇到的坑和解决办法吧. Python 爬虫中国知网论文过程中遇到的坑及解决办法 一. selenium 模块 ...

  2. java执行python返回null_[转]java调用python脚本以及通过Process.waitFor()直接调用python模块返回错误代码1的一种解决办法...

    常见的java调用python脚本方式 通过jython提供的类库实现 通过Runtime.getRuntime()开启进程来执行脚本文件 通过jython提供的类库实现 通过jython实现的话,我 ...

  3. Linux系统中,python需要import上一级目录文件的解决办法

    Linux系统中,python需要import上一级目录文件的解决办法 在import前添加代码: import sys import os sys.path.append(os.path.abspa ...

  4. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  5. Python中当pip安装不成功的解决办法

    Python中当pip安装不成功的解决办法 pip是Windows安装三方库最简单的方式,但是有的时候可能会不成功,以下是我个人的解决办法. 1.由于网络原因,外网的下载速度较慢,一直没进展,这种情况 ...

  6. 关于python 中h5py库安装不上的解决办法

    关于python 中h5py库安装不上的解决办法 问题 解决步骤 1.先安装wheel这个库,方法就是从命令行中输入pip install wheel 2.下载自己对应的h5py的版本,网址如下 3. ...

  7. Python打包成exe,文件太大问题解决办法

    Python打包成exe,文件太大问题解决办法 原因 解决办法 具体步骤 情况一:初次打包 情况二:再次打包 原因 由于使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去, ...

  8. python出现‘int‘ object is not iterable的解决办法

    python出现'int' object is not iterable的解决办法 解决方法 解决方法 翻译:'int' object is not iterable的含义为:'int'对象不可迭代 ...

  9. 探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法

    探讨:在Mac新系统下安装新版XAMPP过程中遇到到的坑以及解决办法 简介 XAMPP安装 XAMPP 是个啥? 安装XAMPP 新版问题:IP地址访问不再是localhost 操作问题:apache ...

  10. FastClick遇到的坑及解决办法

    最近产品妹子提出了一个体验issue -- 用 iOS 在手Q阅读书友交流区发表书评时,光标点击总是不好定位到正确的位置: 如上图,具体表现是较快点击时,光标总会跳到 textarea 内容的尾部.只 ...

最新文章

  1. 一次 HPC 病毒感染与解决经历
  2. R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异
  3. Spring-AOP 使用@AspectJ
  4. 用命令行连接到远程计算机
  5. 16x16x16 4096个RGB LED的光立方是一种怎样的神奇效果?视频展示制作全过程
  6. 1054. 距离相等的条形码
  7. CSS3选择器:nth-child和:nth-of-type之间的差异
  8. oracle查询语句子句,Oracle 查询执行顺序
  9. python处理era5_ERA5数据python批量下载程序
  10. 根据用户查进程_Linux进程之如何查看进程详情?
  11. 微信H5页面内实现一键关注公众号
  12. Hide()方法不生效
  13. 实验室耗材管理系统,医院各科室如何进行耗材管理
  14. BOSS直聘下载自己的简历要钱!而且是PDF格式 - 解决方法
  15. python制作税后工资计算器
  16. 幼儿园科学室创设特点
  17. 计算机入门 零基础,电脑新手入门指南——零基础一分钟入门电脑硬件
  18. 自动化测试 selenium 模块 webdriver使用02
  19. 微博2面:微信朋友圈是怎么实现的?
  20. Datename() 函数与DatePart()函数

热门文章

  1. 路由器静态路由配置实验
  2. android获取SIM卡信息和手机号码
  3. 判断API接口是否支持跨域
  4. 小米手机刷机工具MiFlash
  5. 龙芯平台的播放器和浏览器硬解1080和4k视频
  6. 画业务逻辑流程图后的感想
  7. 龙讯3号 龙芯电脑即将店面销售
  8. 运筹帷幄——我国古代的高超算术
  9. 【光模块、光接口及光纤知识】
  10. linux下光模块信息命令,华为交换机查看光模块信息命令