快捷导航
想抓取百度地图 两个城市之间的距离。
用了一些系列的规则:
1 百度地图选驾车(内含连续动作,选路线,点驾车,删除自动跳出的我的位置)
2 百度地图输入地点 (内含连续动作,输入起点,输入终点,点搜索)
3 百度地图两地距离 抓取搜索出来的结果

遇到的问题是 虽然已经选了删除百度地图自己跳出来的“我的位置”,爬虫的时候,还是会先搜一遍“我的位置”和软件自动输入的终点的关键字之间的距离,不能先在起点框输入起点的位置,不知道原因是什么呢?

PS 百度地图所有网页 网址不变,一直是map.baidu.com。所以我在连续动作的时候用了飞掠模式。

捕获.PNG
举报 使用道具
| 回复

共 4 个关于本帖的回复 最后回复于 2018-1-16 17:16

yangwenge 金牌会员 发表于 2018-1-15 10:15:13 | 显示全部楼层
本帖最后由 yangwenge 于 2018-1-15 10:17 编辑

1,无法输入起点是因为百度地图选驾车这个规则的连续动作第3步的xpath写错了;
IJYBUI[{J3NYHX}GG@{(}5U.png
可以修改为://*[@class='route-start-input input-iploc']/following-sibling::div[1]
2,飞掠模式是点击后会在新的窗口打开页面,并且打开的页面的链接都是相同的,这个不需要使用到飞掠模式;(规则里面没有勾选飞掠模式)
3,连续动作的规则建议每个连续动作都加上额外延时(可在高级设置中设置)。

举报 使用道具
bowieD 金牌会员 发表于 2018-1-15 10:18:46 | 显示全部楼层
本帖最后由 bowieD 于 2018-1-15 10:25 编辑

1,检查连续动作的xpath是否有冲突导致先搜索一遍“我的位置”,你的第一级规则的第三步动作“选删除”的xpath有问题,定位到了多个节点。也可以把数据采集下来,筛选出包含“我的位置”的字段删除就行了。
2,在地图上不要设置“我的位置”,取消电脑上百度地图上的定位,(在百度地图界面右上角的个人中心中清空“我的家”设置的地址,然后退出账号即可。就可以在打开地图时不显示“我的位置”。就不需要删除动作。
3,这个地图只用连续动作就可以了,不需要用飞掠模式。
举报 使用道具
yueguansz 中级会员 发表于 2018-1-16 17:14:42 | 显示全部楼层
yangwenge 发表于 2018-1-15 10:15
1,无法输入起点是因为百度地图选驾车这个规则的连续动作第3步的xpath写错了;

可以修改为://*[@class='r ...

谢谢!不好意思,自己没发现。现在没问题了。
举报 使用道具
yueguansz 中级会员 发表于 2018-1-16 17:16:17 | 显示全部楼层
bowieD 发表于 2018-1-15 10:18
1,检查连续动作的xpath是否有冲突导致先搜索一遍“我的位置”,你的第一级规则的第三步动作“选删除”的xp ...

谢谢!很清晰,不好意思,自己没发现。
没有弄成在爬虫前在百度地图里先取消“我的位置”,设置了还是会自动跳出。不过可以通过规则设置解决。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 大型百货商场会员画像描绘
  • 自动导入导出数据
  • 批量爬取蘑菇街商品价格、评论信息
  • 微博用户数据分析
  • 批量爬取苏宁商品价格、评论信息

热门用户

集搜客GooSeeker网络爬虫 ( 粤ICP备11065265号-2 )

GMT+8, 2018-10-23 02:58