Jsoup 抓取网页信息(2) 需要Login的网页信息抓取
2015-10-13 05:46
381 查看
有时候抓取网页信息的时候,有些网页需要先登录才能查看到真正的内容。这样用我们上一篇文章的方法是无法直接抓取数据的。
Jsoup 抓取网页信息(1) 抓取 国际疾病码
例如抓取网页:http://www.findacode.com/code-set.php?set=CPT 上的 CPT codes
登录前,显示如下:
登录后显示:
我们要抓取的信息是登录后显示的内容。
解决这个问题的方法很简单。Jsoup给我们提供了cookies的功能,我们只要将我们自己账号登录的cookies传递给Jsoup就可以实现登录用户的访问。
1。 首先,登录自己的账号。
2。然后,在chrome中 Chrome -> setting->Content settings->Cookies->"All cookies and site data" 找到find www.findacode.com 对应的cookies
如下图:
从图中可以看出这里有4个cookie的键值我们需要关心。
3。使用Jsoup 加载cookies
4。连接成功后,使用第一篇文章的方法抓取数据。
Jsoup 抓取网页信息(1) 抓取 国际疾病码
例如抓取网页:http://www.findacode.com/code-set.php?set=CPT 上的 CPT codes
登录前,显示如下:
登录后显示:
我们要抓取的信息是登录后显示的内容。
解决这个问题的方法很简单。Jsoup给我们提供了cookies的功能,我们只要将我们自己账号登录的cookies传递给Jsoup就可以实现登录用户的访问。
1。 首先,登录自己的账号。
2。然后,在chrome中 Chrome -> setting->Content settings->Cookies->"All cookies and site data" 找到find www.findacode.com 对应的cookies
如下图:
从图中可以看出这里有4个cookie的键值我们需要关心。
3。使用Jsoup 加载cookies
Map<String, String> cookies = null; cookies = new HashMap<String, String>(); cookies.put("PHPSESSID", "pue5b6f642cu21v7qun47hs3b5"); cookies.put("__ar_v4", "CQJDWEV345EJ7P3MLKOZX3%3A20151008%3A3%7CZFX3A7FMXJARPKT2GZ64XZ%3A20151008%3A3%7CYUDUMC5DENC6LMIX6UQP3E%3A20151008%3A3"); cookies.put("fac_type", "F"); cookies.put("show_sign_in", "T"); Document doc = Jsoup.connect(pageUrl).cookies(cookies).get(); ...
4。连接成功后,使用第一篇文章的方法抓取数据。
相关文章推荐
- Jsoup 抓取网页信息(1) 抓取 国际疾病码
- javascript base库
- 复习javascript基础 (1)
- Ember.js 入门指南——处理事件
- 自定义javascript log方法
- 编写高性能Javascript
- JSP中图片的上传与显示方法实例详解
- javascript正则表达式和字符串RegExp and String(一)
- javascript正则表达式和字符串RegExp and String(二)
- JS实现带圆弧背景渐变效果的导航菜单代码
- JS实现的简洁二级导航菜单雏形效果
- JS实现自动定时切换的简洁网页选项卡效果
- JS实现左右拖动改变内容显示区域大小的方法
- 有关json_decode乱码及NULL的问题
- 快速学习JavaScript的6个思维技巧
- 深入学习JavaScript对象
- javascript:理解try...catch...finally
- Javascript 400例-001-打开新窗口显示广告信息
- Javascript 400例-002-定时打开窗口
- Ember.js 入门指南——处理事件