- 浏览: 1275256 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
//生成HttpMethod的方法就不举例了,网上很多,这里只是写明如何使得Httpclient适用所有编码的网页抓取 /** * 获取页面html内容 * @param method * @param methodType * @return String * @throws UnsupportedEncodingException * @throws IOException */ private static String readInputStream(HttpMethod method) throws Exception{ String charset = "UTF-8"; if(method instanceof PostMethod){ charset = ((PostMethod)method).getResponseCharSet(); }else{ charset = ((GetMethod)method).getResponseCharSet(); } byte[] bytes = method.getResponseBody(); String body = new String(bytes,"UTF-8"); charset = getCharSetByBody(body,charset); return new String(bytes,charset); } /** * 根据页面body获取字符编码 * @param html * @param charset * @return */ private static String getCharSetByBody(String html,String charset){ Document document = parseJSoupDocumentFromHtml(html, Constants.parseBaseUri); Elements elements = document.select("meta"); for(Element metaElement : elements){ if(metaElement!=null && StringUtils.isNotBlank(metaElement.attr("http-equiv")) && metaElement.attr("http-equiv").toLowerCase().equals("content-type")){ String content = metaElement.attr("content"); charset = getCharSet(content); break; } } return charset; } /** * 正则获取字符编码 * @param content * @return */ private static String getCharSet(String content){ String regex = ".*charset=([^;]*).*"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(content); if(matcher.find()) return matcher.group(1); else return null; }
发表评论
-
模拟浏览器js,有接口可用于爬虫
2018-01-30 18:14 1577http://phantomjs.org/ -
抓取Js动态生成数据且以滚动页面方式分页的网页
2015-11-08 23:21 1667当我们在进行数据抓取的时候,如果目标网站是以Js的方式动态 ... -
HttpClient优化相关
2014-09-17 15:21 10454首先,HttpClient可以共用,减少创建HttpClie ... -
httpclient工具类【转】
2013-11-16 11:46 2113package com.xyj.com.tool.util; ... -
HttpClient如何 关闭连接(转)
2013-10-10 10:19 1479Java代码 HttpClient clien ... -
Httpclient Cookies 处理
2013-10-08 15:56 3152HttpClient Cookies 简介 Htt ... -
httpclient代理[转]
2012-12-29 11:17 1051httpclient4.x配置带用户名和密码的代理 h ... -
java模拟浏览器包htmlunit,selenium
2012-05-27 16:49 6141发现一个很不错的模拟浏览器包htmlunit,它可以直接 ... -
httpclient发送Json格式数据举例之google短网址
2012-03-30 14:06 4909public String getGooGlShort ...
相关推荐
在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者模拟用户交互。HttpClient是Java中一个常用的HTTP客户端库,它允许我们方便地发送HTTP请求并接收响应。在这个名为"使用HttpClient...
在Android开发中,有时我们需要从网络获取HTML源代码来实现某些功能,比如网页抓取、网页数据解析等。本例子提供了使用HttpClient和URLConnection两种方式来实现这个目标。这两种方法都是Android SDK内置的网络访问...
在Android开发中,有时我们需要从网络上获取网页的HTML源代码,以便进行数据抓取或者分析。HttpClient是一个常用的Java库,适用于实现HTTP客户端功能,它也被广泛应用在Android中。本篇将详细介绍如何使用HttpClient...
这个库广泛用于自动化测试、数据抓取和Web服务的交互。本实例主要关注如何解决在使用HttpClient进行文件上传时可能出现的乱码问题。 在HttpClient中,乱码问题通常出现在两个方面:请求参数的编码和响应内容的解码...
在Java编程中,模拟HTTP请求是一项常见的任务,尤其在网页抓取、自动化测试以及网络数据获取等场景下。本项目涉及的关键技术点是利用HTTP客户端库进行登录操作,并抓取海投网的数据,随后将这些信息存储到MySQL...
网页提取源代码是一个常见的任务,尤其对于数据抓取、网页分析和自动化测试等领域。在VS2008环境下,我们可以使用各种编程语言如C#或VB.NET来实现这个功能。以下是一些关于如何进行网页源代码提取的关键知识点: 1....
10. **编码与解码**:HttpClient支持各种字符编码,确保正确处理非ASCII字符,防止乱码问题。 在实际开发中,除了HttpClient,网络爬虫可能还需要其他JAR库,如Jsoup用于解析HTML,Jackson或Gson用于处理JSON数据,...
Java实现模拟登录网站是一项常见的任务,特别是在自动化测试、数据抓取和网络爬虫等领域。以下是一些关于这个主题的关键知识点: 1. **网络请求库**:在Java中,`HttpURLConnection`是内置的HTTP客户端,但为了更...
在Java编程中,下载网页是一项常见的任务,尤其对于网络爬虫和数据抓取项目来说更是必不可少。本篇文章将深入探讨四种不同的Java实现方法,帮助初学者理解如何在处理中文乱码问题的同时,有效地下载网页内容。 一、...
在进行Web开发时,常常需要根据URL获取网页的HTML源码,以便于进一步的分析或数据抓取。C#作为.NET框架下的一种编程语言,提供了丰富的类库来帮助开发者实现这一需求。本例中,我们主要讲述了使用C#语言和.NET框架中...
首先,Nutch 在抓取网页时,默认使用的是 ASCII 编码,这可能导致对包含中文字符的 URL 处理不当。在中文环境下,URL 必须用 UTF-8 编码,否则可能会出现乱码或无法正确解析的情况。要解决这个问题,你需要在 Nutch ...
- **DetectEncoding**: 使用System.Text.Encoding类的DetectEncoding方法,可以自动检测网页的字符编码,避免乱码问题。 9. **爬虫框架** - **Scrapy.NET**: 是.NET平台下的一个基于Scrapy(Python爬虫框架)的...
10. **数据清洗与预处理**:抓取的数据可能存在乱码、缺失值等问题,需要进行数据清洗,例如去除空格、转换编码、填充缺失值等。 11. **数据可视化**:可能还涉及到将抓取的数据进行可视化展示,如使用JFreeChart或...
C#提供了丰富的字符串操作方法和正则表达式支持,可以有效处理乱码、非标准格式等问题。对于大规模数据,可利用LINQ(Language Integrated Query)进行高效查询和过滤。 结构级挖掘涉及对网页结构的理解和解析。C#...
在IT行业中,爬虫是一种广泛使用的工具,用于自动地从互联网上抓取数据。本项目以"crawler:学习爬取并添加中文注释"为主题,旨在帮助初学者深入理解爬虫工作原理,并通过实践增强其Java编程技能。下面将详细探讨相关...
10. **合规性与道德**:在进行网络爬虫时,必须遵守网站的robots.txt规则,尊重网站的版权,不进行非法的数据抓取,这是开发者的道德底线。 总的来说,“social-network-http-crawler”项目涉及到了网络爬虫的多个...
- 编码处理:在读取网页内容时,需要指定正确的字符编码,否则可能导致乱码。 - Cookie管理:如果需要处理Cookie,可以使用CookieContainer类与HttpWebRequest关联,以保持会话状态。 6. **扩展应用**: - 使用...