CNode

node模拟登陆有人有实例吗?

问答
BbigMuffin发布于12 年前最后回复12 年前24 回复7294 浏览0 收藏

想抓取一个网站的数据,但是网站要登陆。登陆内容有 用户名+密码+验证码(ashx) 现在我会请求网页数据了。但是那个页面需要登录。http://vip.311st.com/login.aspx就是这个网站 我想分析游乐场里面的页面数据。就是模拟登陆不知道怎么弄。想就问问大家

查看回复

回复 (24)

B
bigMuffin#1·12 年前

在线等。

T
TimothyJin#2·12 年前

phantomjs

B
bigMuffin#3·12 年前
引用 TimothyJinphantomjs

@TimothyJin 需要登陆怎么破?

C
coolicer#4·12 年前

下载fiddler,跟踪一下登录。看看提交到哪个地址之类的吧。

C
coolicer#7·12 年前
引用 bigMuffin@coolicer 居然就是这个地址http://vip.311st.com/login.aspx

@bigMuffin 你还有一个难点,就是要知道图片验证码。

B
bigMuffin#8·12 年前
引用 coolicer@bigMuffin 你还有一个难点,就是要知道图片验证码。

@coolicer 是啊。那个可以从网页上直接显示不?然后我自己输入?可行吗?

B
bigMuffin#10·12 年前
A
alsotang#12·12 年前

在浏览器里面登陆之后,把 cookie 拿出来用不就好了吗? 反正写的是爬虫,这么干方便快捷

B
bigMuffin#13·12 年前
引用 coolicer@bigMuffin 登录后会产生session cookie,你没有

@coolicer 这一步求指教。如何取得session cookie?

C
coolicer#14·12 年前
引用 bigMuffin@coolicer 这一步求指教。如何取得session cookie?

@bigMuffin 楼上说叫你直接拿来用,因为你登录之后已经生成一条cookie

Z
zhouseahe#15·12 年前

cookie 方便快捷 刚看了下那个验证码, ocr 处理比较容易啊

B
bigMuffin#17·12 年前

var http = require('http'); var request = require('request'); http.createServer(function(req, res) { /* GET req page. */ request ({ uri: 'http://www.geibi.com/index.aspx', //构建请求 encoding: null, //不转码 headers: { Cookie: '0u4qj3wphktrnzrcw3kknn3y' //这里是关键,设置Cookie为之前请求到的以Cookie形式呈现的SessionID } }, function(err, res, body) { //获取响应即可 if (err) { console.log('Server Error'+err.message); } }); }).listen(3002, '127.0.0.1'); console.log('服务运行在http//:127.0.0.1:3002/');

但是不行。我不知道为什么。

B
bigMuffin#18·12 年前

上面的是我在网上找的代码。因为我初学node,很多都不是很懂。所以想请教大家。

C
captainblue2013#19·12 年前

这个不擅长

B
bigMuffin#20·12 年前
引用 captainblue2013这个不擅长

@captainblue2013 感谢帮顶。

K
kiroChen#21·12 年前

用caspter.js。

Z
zhouseahe#22·12 年前
引用 bigMuffinvar http = require('http'); var request = require('request'); http.createServer(function(req, re...

@bigMuffin 这个代码应该是可以的,但是你要读图片,就会麻烦点, 你直接手动登录,然后把cookie 写到文件,应用抓数据的时候再去文件读cookie

H
halfcrazy#24·12 年前
参与回复
登录后即可参与回复。登录