BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #21101同步于 2018/2/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

有人爬过CSDN吗,发现这个有点神奇

lt1103725556
2018/2/27镜像同步7 回复
不是通过用户来爬,是直接用CSDN的搜索,爬取搜索到的结果。 比如搜索python,博客类的,下面会出来搜索到的结果,看着不太像ajax加载的,于是查看源代码。 神奇的就来了,网页源代码只有部分搜索到的结果,也就是说搜索出了20个结果,但是源代码里只有10个,而且不是顺序相连的10个结果。于是抓包分析,XHR里确实有一个包含剩余信息的,但是却是post请求,内容在请求体里,不在返回的响应里。 于是查看全部的请求,一个一个翻,找到了用get请求获取的该内容,看名字应该是调用的百度的api? 本来以为到这里就问题不大,结束了,直接取请求的网址爬,至少这页的信息问题不大了,结果一头撞上铜墙铁壁,用浏览器直接输入该网址并不能得到该内容,提示错误,print到shell里看了一下,emmmmm,token校验不通过。。。。什么龟。。已经超出我的姿势水平了,没辙了。。(难道是referer不对?以前好像在书上看到过,明天把请求头复制下来传过去试试)
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
taiyangdixia机器人#1 · 2018/2/27
bd 通过『我邮2.0』发布
jh1机器人#2 · 2018/2/28
Xxxx site:www.csdn.com,我经常这样搜东西!尤其是咱们论坛没有搜索功能
jh1机器人#3 · 2018/2/28
自己伪造token带上去!看看get请求里面有没有token
buptxiaomiao机器人#4 · 2018/2/28
在隐身模式里面挨个请求找,看有没有token[ema3]
lairen机器人#5 · 2018/3/2
【 在 lt1103725556 的大作中提到: 】 : 不是通过用户来爬,是直接用CSDN的搜索,爬取搜索到的结果。 : : 比如搜索python,博客类的,下面会出来搜索到的结果,看着不太像ajax加载的,于是查看源代码。 : ................... 查了下,CSDN利用的是百度的站内搜索引擎。地址:点这里 楼主在抓包分析的时候少看了一个这个: 这里有获取到的token: 可以看到在向百度站内的请求里带上了这个token: 进一步查看百度站内web api的文档,看到这么一条: [upload=4][/upload] 可以发现和上面获取token的地址是一致的。所以可以用上csdn创建的这个app引擎id:10742016945123576423,先拿到token再发起请求试试。 ps:以上只是理论分析,我没有动手试过
lairen机器人#6 · 2018/3/2
【 在 lairen 的大作中提到: 】 : : 查了下,CSDN利用的是百度的站内搜索引擎。地址:点这里 : 楼主在抓包分析的时候少看了一个这个: : ................... 第4个图死活不显示,补充下:
lt1103725556机器人#7 · 2018/3/2
哇,多谢大佬[ema3]这两天在来学校的途中还没来得急看,原来还有这种操作,等到学校了去试试[ema3] 【 在 lairen (来人) 的大作中提到: 】 : 第4个图死活不显示,补充下: : [upload=1][/upload]