随笔分类 - 01_爬虫_crawler
该文被密码保护。
摘要:今天看了一天的apache 的httpasyncclient ,为了和默认的httpclient做个对比,httpcore是核心轻量级的提供传统阻塞IO 和 java NIO两种方式,httpclient基于httpcore做的全功能封装能应付绝大部分爬虫需求,HttpAsyncClient 是基于httpcore NIO 和httpclient基础上做的进一步封装,主要利用异步回调方式,适用于高性能需求的场景下 ,官方文档 如是说:Asynch HttpClientis a HTTP/1.1 compliant HTTP agent implementation based on HttpC
阅读全文
摘要:爬虫解析一般使用 正则或者给予样式的 jquery语法选择器正则是根本,类比jsoup基于dom,底层也有部分是基于正则实现的,linux操作系统文本处理也是借助强大的正则体现的 。关于正则 请参考 《正则指引》书 。正则基本语法 :http://cphmvp.diandian.com/post/2012-07-31/40032077081搜索爬虫常用正则:http://cphmvp.diandian.com/post/2012-11-10/40041792417正则的调试工具有很多,推荐个 RegexBuddy 。 这里就不多做介绍了或者后续补充 。今天着重讲下 jsoup,近期做了一千多个
阅读全文
摘要:DNS解析:即由域名 经过dns解析,跳转到真正服务器的地址,这个重复解析的耗时占请求很大比例。 在设计爬虫时比较细粒度的控制下,需要考虑dns解析。 jdk从1.5往后对dns缓存有默认设置,详见jdk源码,不过有部分细节还是需要自己去处理的。JAVA本身对DNS的缓存时间是多久?对于爬虫DNS解析耗时的疑问,第一反应Google之,大致有两种说法:第1种:默认情况下networkaddress.cache.ttl=-1,代表永久缓存(配置文件路径: JAVA_HOME/jre/lib/security/java.security),就是在应用启动之后第一次DNS 解析成功的结果会一直cac
阅读全文
摘要:package com.cph.crawler.core.utils;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * * @ClassName: RegexUtils * @Description: 正则帮助类 * @author cphmvp .
阅读全文
该文被密码保护。
该文被密码保护。
摘要:步奏如下: 1 用chrome浏览器(其他浏览器原理相同)打开地址:http://weibo.com/2、点击鼠标右键右键点击查看元素 点击Network3、输入用户名 密码 执行登录4、在Network列表查找 访问首页(home?开头的)的地址,保存右侧cookie信息
阅读全文
摘要:1 public String getDocumentByProxy(String url) 2 throws ClientProtocolException, IOException { 3 DefaultHttpClient httpclient = new DefaultHttpClient(); 4 HttpHost proxy = new HttpHost("127.0.0.1", 8087); 5 httpclient.getParams().setParameter(ConnRoutePNames.DEFA...
阅读全文
该文被密码保护。
摘要:先粘贴一个 简单版的,后期再修改pom文件 org.apache.httpcomponents httpasyncclient 4.0-alpha3 compile 1 package com.cph.utils; 2 3 import java.io.IOException; 4 5 import org.apache.http.HttpEntity; 6 import org.apache.http.HttpResponse; 7 import org.apache.http.HttpStatus; 8 import org.apac...
阅读全文
摘要:参照:http://www.open-open.com/jsoup/selector-syntax.htm使用选择器语法来查找元素问题你想使用类似于CSS或jQuery的语法来查找和操作元素。方法可以使用Element.select(String selector)和Elements.select(String selector)方法实现:File input = new File("/tmp/input.html");Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/
阅读全文
摘要:java访问网络资源 由底层到封装 为 scoket==> java.net.HttpURLConnection==>HttpClient这次阐述先 java.net.HttpURLConnection 的方式 ,好处是用导包 ,jdk原生自带的。HtmlUtil 包含尝试重连(3次) ,编码识别,保存文件到磁盘package com.cph.crawler.core.utils;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.IOExc
阅读全文
摘要:一、集中调度式二、p2p三、混合调度式四、大型集群
阅读全文
摘要:UE使用技巧Tip 1: 如何去掉所编辑文本中包含特定字符串的行? 这则技巧是在UltraEdit的帮助文件里提到.CTRL+R 调出来替换(Replace)窗口,选中"使用正则表达式";然后用查找 %*你的字符串*^p 替换成空内容即可.如,我当前有个文本文件,需要去掉所有包含 http://w...
阅读全文