本文给大家演示通过记录cookie登录进行数据采集的方式。

 

cookie指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),在八爪鱼里获取登陆后的cookie记住登陆状态达到采集数据的目的

 

有些网站是需要登陆账号之后才能进行采集数据的,这里文章所讲示例采集数据网址为

https://s.taobao.com/list?spm=a217f.8051907.312344.10.Xesvx1&style=grid&seller_type=taobao&cps=yes&cat=50000671

上述网址如果是需要登陆才能采集的,就需要做一个登陆流程。

 

登陆地址为https://login.taobao.com/我们这个网址里面需要输入用户名、密码登陆进去然后记住cookie打开前面的网址采集数据。

 

步骤1  登陆八爪鱼7.0采集器→点击新建任务→自定义采集,进入到任务配置页面: 然后输入网址→保存网址,系统会进入到流程设计页面并自动打开前面输入的网址。

 

1

 

接下来步骤是输入用户名密码了,这一步直接在浏览器下方输入用户名密码就可以了

 

步骤2 在浏览器中鼠标点击用户名输入框→再在浏览器里输入用户名密码,之后模拟人工手动点击登陆按钮,在浏览器中鼠标点击登陆按钮→在右边弹出的提示框里选择“点击该按钮”或者直接按键盘的enter按钮也一样可以进入到登陆页面。

 

2

 

进入到登陆页面之后,目的是我们采集的网页进入到登陆状态。然后再采集我们需要的数据

步骤3  点开流程界面→在流程设计器中拖入一个打开网页的步骤→填入最终要采集的URL→点击确定,之后八爪鱼浏览器会自动打开需要采集的这个URL

 

3

 

这里在拖入之后,默认超时时间是空白的,需要设置给网站设置一个超时时间,这里设置20秒即可

 

2

 

当这个URL打开之后,可以看到这个URL打开就是登陆之后的状态了,我们这这里记住cookie之后,再把前面多余的步骤删掉即可。

 

步骤4  点开高级选项→点开缓存设置→勾选打开网页的自定义cookie→点击获取当前页面的cookie(可以点一下旁边的箭头看看是否获取了cookie)→获取到登陆之后的cookie之后点击“确定”按钮,即八爪鱼会记住这个cookie状态,下次直接打开这个页面的时候就会以登陆之后的状态打开

 

4


小贴士:由于cookie是有生命周期的,这个周期多长时间取决于采集的网站,如果cookie到期了,就需要再重新获取一次登陆之后的cookie,另外如果需要切换账号,可以勾选打开浏览器前清理缓存,然后再取消cookie重新设置其他账号即可。

 

1


步骤5  接下来在流程设计器里把其他多余的步骤删掉,然后按照新手入门的方法提取数据即可,这里随便提取一个字段为例,设置好之后点击“确定”按钮进行保存。

 

5


步骤6 接下来选择保存并启动→选择启动本地采集,系统将会在本地启动一个采集流程并执行采集规则。

可以看到就能正常模拟人的操作采集数据了。采集完成之后选择导出数据就可以了。

 

6


小贴士:另外有些网站这个登录框其实是iframe的登录框,iframe即html标签,会创建包含另外一个文档的内联框架(即行内框架),含义是网页中的网页。

例如天猫的登陆地址,八爪鱼获取的是当时操作时的iframe,但是天猫有防采集措施,如果登录框的xpath有变化的话,就需要通过下面的方式获取登录框的详细URL直接输入这个URL做登陆流程。

 

我们可以通过火狐获取登陆框的详细地址,然后直接输入这个详细的地址进行流程设计,在火狐浏览器上鼠标右键登录框→选择此框架→查看框架信息→地址,这个地址即为登录框的真实地址,获取到这个地址之后在八爪鱼规则里输入这个地址做规则即可。

 

Iframe真实框架