一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 883|回复: 11
收起左侧

[其他] 问一个网络爬虫的网址问题

[复制链接] |试试Instant~ |关注本帖
peterboy 发表于 2016-7-1 11:55:02 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
如题,求网络爬虫大牛指教,我现在需要在 https://www.zagat.com/new-york-city 上把所有餐馆的名字以及评分信息爬下来。其他的我都已经写好了,唯一的问题是网页翻页。
. visit 1point3acres.com for more.
我是这样做的:
. 1point3acres.com/bbs
要爬的信息的第一页是
https://www.zagat.com/search/pla ... ort=desc&page=1

所以第二页是.鐣欏璁哄潧-涓浜-涓夊垎鍦
https://www.zagat.com/search/pla ... ort=desc&page=2

以此类推,就是最后的page=3,4,5,...一直迭代

但是我趴下来发现所有的link都是指向第一页的,无论page等于几。
所以我觉得可能这些个网址也能不是真正的指向第二页,第三页的网址。我试了其他很多方法去查找真正的超链接,都不对。。
.1point3acres缃
求大神帮我看看,应该如何找到正确的链接,从而把每一页的信息趴下来?. visit 1point3acres.com for more.

谢谢!
DamienPooh 发表于 2016-7-9 00:13:16 | 显示全部楼层
粗看了一下,实际的东西在这里,是一个json,结构很清楚,后期应该很好分析. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
https://www.zagat.com/proxy/v1.4?vertical=46&orderby=relevance&sort=desc&page=4&city=1020&query=&key=abbc09b7c840c10937a4db331422c98b&mobile_only_content=false&limit=15&m=filter&a=place

city应该是你要找的城市的ID,你的帖子里写的是NY,那1020应该就代表NY. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
page是页数
key可能跟浏览器session有关系,如果是的话,这个自己不好生成,最好是先访问一下你帖中的地址,从HTML里面把key提取出来,然后按上面的格式构造URL

评分

1

查看全部评分

回复 支持 2 反对 0

使用道具 举报

回到拉萨 发表于 2016-7-1 12:35:52 | 显示全部楼层
你用wget一下地址 下来的还是都是第一页?
回复 支持 反对

使用道具 举报

 楼主| peterboy 发表于 2016-7-1 12:43:00 | 显示全部楼层
回到拉萨 发表于 2016-7-1 12:35
你用wget一下地址 下来的还是都是第一页?

怎么wget啊?我只是手动复制粘贴地址到我的code里的,不知道如何获取“真正”的地址,求指教~
回复 支持 反对

使用道具 举报

a5147760 发表于 2016-7-4 10:19:43 | 显示全部楼层
关掉javascript再找超链接试试
回复 支持 反对

使用道具 举报

qqaas 发表于 2016-7-4 10:26:29 | 显示全部楼层
用selenium模拟点击页面
回复 支持 反对

使用道具 举报

victorsterling 发表于 2016-7-5 04:24:24 | 显示全部楼层
你用什么框架啊?scrapy?
回复 支持 反对

使用道具 举报

 楼主| peterboy 发表于 2016-7-8 23:01:17 | 显示全部楼层
a5147760 发表于 2016-7-4 10:19
关掉javascript再找超链接试试

. 1point3acres.com/bbs怎么关掉js呢?
回复 支持 反对

使用道具 举报

 楼主| peterboy 发表于 2016-7-8 23:01:22 | 显示全部楼层
a5147760 发表于 2016-7-4 10:19
关掉javascript再找超链接试试
. Waral 鍗氬鏈夋洿澶氭枃绔,
怎么关掉js呢?
回复 支持 反对

使用道具 举报

 楼主| peterboy 发表于 2016-7-8 23:02:16 | 显示全部楼层
qqaas 发表于 2016-7-4 10:26. visit 1point3acres.com for more.
用selenium模拟点击页面

恩恩 我也查到这个方法了 但是一直搞不定。。 说是 unknown server
回复 支持 反对

使用道具 举报

 楼主| peterboy 发表于 2016-7-8 23:02:48 | 显示全部楼层
victorsterling 发表于 2016-7-5 04:24
你用什么框架啊?scrapy?

我用R做的。。基本上就是rvest这个包
回复 支持 反对

使用道具 举报

ITFree 发表于 2016-7-11 13:16:13 | 显示全部楼层
1楼@DamienPooh 已经讲得特别清晰了,每次访问1楼给的这个网址即可(改变此链接中的page=1,抱歉我没权限发链接):
访问该链接返回的是个json字符串,假设是response,d = json.loads(response),  d['data']就是包含15个餐馆信息的数据。
补充:监控下数据包,查看点击链接后的第一个请求包,就能分析到上面这个链接
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 04:38

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表