wget抓取数据,需要用户登录验证

 

 Niushop3.0电商系统,性价比之王!开牛店的第一选择!


在用wget抓取数据的时候,有的时候需要用户登录才能进行。这种情况下就需要时用cookie.
先看下面的代码:
 
wget --load-cookies cookies.txt --save-cookies cookies.txt --keep-session-cookies -O output/login.html --post-data "username=NNNNNNNNNNN&password=MMMMMMMMMMM" http://www.xxxxxxxxxxxxxx.org/login
  
  wget --load-cookies cookies.txt --save-cookies cookies.txt --keep-session-cookies -O output/directory-list.html "http://www.xxxxxxxxxxxxxxx.org/list?category=resturants&page=1"
  
第一个操作,就是先获得一个cookie,用来登陆并保存此session,然后在后面的抓数据的过程中使用此session和cookie.
注意:
http://www.xxxxxxxxxxxxxx.org/login要换成对应的登陆页面的url
--post-data "username=NNNNNNNNNNN&password=MMMMMMMMMMM"  post数据里面的参数要根据登陆页面里面对应的参数设定。

第二个操作,就是用上面的cookie去验证用户,并取得一个有效的连接,进而去取得数据。
--load-cookies 就是载入你上一个操作所取得的cookie.

在抓取数据的时候,我自己用了一个脚本,如下,以供参考:

get --load-cookies cookies.txt --save-cookies cookies.txt --keep-session-cookies -O login.html --post-data "username=xxxxxxxxxx&password=11111111111111111" http://www.mmmmmmmmmmmmmmmmmm.mmmmmmmmm/login
  
  
  
  for i in {1..89}
  do
      for j in {1..20}
      do
          echo i=$i -- j=$j
  
  echo "wget --load-cookies cookies.txt --save-cookies cookies.txt --keep-session-cookies  -O $i-$j.html 'http://www.ccccccccccccccc.ccccccccccc/directory/resturant/list?keyword=&class=$i&page=$j'"
  
  wget --no-dns-cache --no-cache --load-cookies cookies.txt --save-cookies cookies.txt --keep-session-cookies  -O $i-$j.html "http://www.qqqqqqqqq.xxxxxxxxx/directory/bar/list?keyword=&class=$i&page=$j"
  
      done

 

 Niushop3.0电商系统,性价比之王!开牛店的第一选择!

转载于:https://www.cnblogs.com/niuniuniuniu/p/10650950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值