这种一般是 js ajax 请求异步加载的数据,要能抓取到,,只能分析每个ajax请求的作用,在直接请求这个,
或者 你的抓取程序要有执行js 程序的 功能
他可以模拟鼠标点击的动作,然后去抓取页面DOM信息
@DanBrown: 有些DOM 源码里面是没有的,是执行了 js 程序后添加的,所有我的意思是,你的程序需要有执行js的能力。
你说的这个 “模拟鼠标点击的动作” 是指 抓取 a标签链接指向的页面么?
@电磁魔王喵喵: 并不是去访问a标签里面的链接,我的意识是比如有个按钮你点一下页面上被js新增加了10条数据,那么我只是抓取页面上的,说白点就是我先,点点点,页面上都有我想要的数据了都在DOM里,我直接抓DOM里信息就可以了
@电磁魔王喵喵: 我尝试过使用selenium+ phantomjs进行动态抓取,但是太慢了。请问ajax请求是否一定问产生json文件回复,如果不会那我该如何寻找数据呢(我对javascript和ajax不是特别熟悉)
@xiaoblue: 如果要快的话, 需要分析网站的源码,找出哪些数据源码里有,哪些是异步加载的,还要知道加载的数据都是做什么用的,
“ajax请求是否一定问产生json文件回复” 这个 ajax 请求返回的实际上只是一堆字符串 ,有些是json 格式的,也有可能是html格式的代码,只能看具体的网站,
@电磁魔王喵喵:难以分析,近乎崩溃。没有显性的json文件,不知道该怎么办,js文件太多,本身又不熟悉。网上也没有找到对各楼层回复爬取的方法......
@电磁魔王喵喵:要落泪了,太激动了。之前一直困在js请求分析上,由于分析不出来我用fiddler检索http报文主体是否含有楼层回复信息,中文没搜到,但转为unicode后发现搜到了,仔细一看url怎么是贴吧地址,然后......楼层回复在html源码中有的,只不过是以unicode编码形式存在着(笑哭)
@xiaoblue: 少年,你悟了
有的,你好好看看行么
这里确实有,不过右键选择查看页面源代码就没有了
@xiaoblue: 你要人家的数据,去看人家源代码?,就算你看了人家源代码,页面上的数据也是有的,你好好看看行么?Ctrl+f 你搜一下
@xiaoblue: 应该做了javascript跳转
一般爬取动态页面的数据的话可以用selenium+chromedriver 或者phatomeJS,题主可以试一下