这个网站的登录功能设置的变态,算法复杂 没有办法直接用 requests 登录
所以只能用 selenium 登录
但是登录后,如何获取指定 url 比如 /getUserinfo 的数据呢 ? 这个链接,直接访问会返回错误 而登录后,进入 页面 /index 的时候 ,/index 页面会自动去 ajax 请求 /getUserinfo 并会返回正确的数据 如何在 /index 页面自动请求 /getUserinfo 的时候,获取到他返回的内容呢?
另外这个网站,有强烈的声明,发现任何爬虫痕迹就会封号,如何最大程度的看起来像个人在访问呢?
我要抓取的数据量很小,每天就不到 100 个请求,可能 50 个左右,这个请求量 应该是正常的
如果我把 selenium 登录后的 cookies 分享给 requests ,会被对方发现是机器人吗?因为 requests 的 header 可能和 selenium 不一样,会被对方发现,或者 selenium 自身有没有类似 requests 这样,可以自定义请求网页的接口?
1
ldbC5uTBj11yaeh5 2016-11-01 23:51:14 +08:00 1
selenium 太重了,推荐使用 headless webkit 的方案的。比如 ghostpy
|
2
qweweretrt515 OP @jigloo 谢谢, py3.5 安装这个无法正常导入,看来还是先用 selenium
|
3
qweweretrt515 OP 继续求大神指点
|
4
hshpy 2016-11-02 00:24:29 +08:00 via iPhone 1
WebDriverWait 或直接 time.sleep(10)
|
5
CosimoZi 2016-11-02 01:15:31 +08:00 1
哦我明白了, lz 是要得到类似于返回的原始 json 数据之类,而不是渲染后的直接的 html 页面吗
|
6
crab 2016-11-02 01:17:07 +08:00 1
直接 requests 。 useragent referer 指定下。爬的延迟 控制好就可以了。
|
7
qweweretrt515 OP @CosimoZi 主要担心我的爬虫行为会被发现
|
8
arischow 2016-11-02 08:27:12 +08:00 via iPhone
最近用 selenium + phantomjs 模拟输入然后抓 ajax 返回结果的……
|