基于验证码模拟登录的爬虫
2016-09-13 17:52
113 查看
上一篇博客我们讲到没有验证码的登陆跳转和信息抓取,对于部分有验证码登陆跳转我们又该怎么做到模拟登陆呢。
首先,还是先说下我们的外部库
我们这次模拟登陆的是拉手网。
http://www.lashou.com/account/login/
然后我们查看服务器验证码的网址:
当然这样查看得到的是相对地址,我们肯定要得到绝对地址才能获取到验证码的图片,下面的代码会给出如何直接获取绝对地址。
Po出函数
然后我们可以看到在自己D盘的目录下会有
接下来就是获得输入,我只是做个示范,所
4000
以就不把验证码显示出来,JAVA可以通过Swing动态显示这张图片,JSP可以通过文件获得等等,我们就在这里写出了。
接下来就是和上一篇博客相同的操作,我就不做演示。 最后讲解一下上一期忘记讲解的Cookie方面的问题。
上一篇有个代码:
那么这个ACCOUNT有什么讲究呢
看图
必须与上面的参数名完全一致才能获取到你想要的Cookie.
至于大型网站的Cookie值有很多,如何正确的使用CookieStore,我会在后续进阶篇中详细的介绍。
首先,还是先说下我们的外部库
我们这次模拟登陆的是拉手网。
http://www.lashou.com/account/login/
然后我们查看服务器验证码的网址:
当然这样查看得到的是相对地址,我们肯定要得到绝对地址才能获取到验证码的图片,下面的代码会给出如何直接获取绝对地址。
Po出函数
public static void downloadFile() throws IOException { String url="http://www.lashou.com/account/login/"; //存入的文件路径和文件名 String fileName="D:\\TDDOWNLOAD\\yz.png"; File dir = new File("D:\\TDDOWNLOAD"); if(!dir.exists()) { dir.mkdirs(); } Connection connection=Jsoup.connect(url); Document document=connection.get(); String src=document.getElementsByClass("yzmimg").attr("abs:src"); //Jsoup的文件流读取 URL url_picture=new URL(src); InputStream inputStream =url_picture.openStream(); OutputStream out = new BufferedOutputStream(new FileOutputStream( fileName)); for (int b; (b = inputStream.read()) != -1;) { out.write(b); } out.close(); inputStream.close(); }
然后我们可以看到在自己D盘的目录下会有
接下来就是获得输入,我只是做个示范,所
4000
以就不把验证码显示出来,JAVA可以通过Swing动态显示这张图片,JSP可以通过文件获得等等,我们就在这里写出了。
public static String GetYZM(){ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入下载下来的验证码中显示的数字..."); String yzm = br.readLine(); return yzm; }
接下来就是和上一篇博客相同的操作,我就不做演示。 最后讲解一下上一期忘记讲解的Cookie方面的问题。
上一篇有个代码:
String accountCookie=connection.response().cookie("ACCOUNT");
那么这个ACCOUNT有什么讲究呢
看图
必须与上面的参数名完全一致才能获取到你想要的Cookie.
至于大型网站的Cookie值有很多,如何正确的使用CookieStore,我会在后续进阶篇中详细的介绍。
相关文章推荐
- Python爬虫模拟登录带验证码网站
- 网络爬虫_网页登录(苏宁 有验证码)—基于HtmlUnit
- Python爬虫模拟登录带验证码网站
- python爬虫实战(四)--------豆瓣网的模拟登录(模拟登录和验证码的处理----scrapy)
- python爬虫模拟登录之验证码
- Python爬虫模拟登录带验证码网站
- Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
- Python爬虫:模拟登录带验证码网站
- Python爬虫模拟登录带验证码网站
- 用wininet库模拟cookie方式验证码登录
- curl 模拟登录微信公众平台带验证码
- C++ 纯socket 模拟登录37.com【过验证码】
- 【网络爬虫】【python】网络爬虫(三):模拟登录——伪装浏览器登录爬取过程
- PHP使用CURL对带有验证码的网站进行模拟登录
- VC显示网页验证码、模拟CSDN网页登录
- C# 利用 HttpWebRequest 和 HttpWebResponse 模拟登录有验证码的网站
- PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
- (转)php_curl模拟登录有验证码实例
- 新浪微博模拟登录分析(含验证码)
- Java编程练习:使用分层结构,基于XML文件,实现模拟用户登录