爬虫行业的兴起是大数据时代下必须的产物,大家学习阿爬虫肯定是为了爬取有价值的数据信息。关于爬虫的基础知识我们这里不进行阐述,今天我们就只是进行一个简单的爬虫实践。那首先我们就需要确定下我们的目标网站,这里我们就以一些房产信息的网站为例统计一些信息。 关于爬虫中的一系列反爬问题我们也不在这里做深入的了解,都是学习爬虫的必备知识,最简单的就是在访问过程中我们肯定会遇到网站封ip,那么这时我们就需要加入代理ip来进行伪装了。之前不管是公司业务还是私人业务都使用的是亿牛云代理,一时也想不到哪家比较好所以就直接在文章中使用了他们代理,接下来我们展示一下访问网站的一段程序,因为我的爬虫程序一直都是使用的是java写的,所以文章中所示的demo也是有java完成的。 import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpMethod; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.methods.GetMethod;
import java.io.IOException;
public class Main { # 代理服务器(产品官网 www.16yun.cn) private static final String PROXY_HOST = "t.16yun.cn"; private static final int PROXY_PORT = 31111;
public static void main(String[] args) {
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("https://httpbin.org/ip");
HostConfiguration config = client.getHostConfiguration();
config.setProxy(PROXY_HOST, PROXY_PORT);
client.getParams().setAuthenticationPreemptive(true);
String username = "16ABCCKJ";
String password = "712323";
Credentials credentials = new UsernamePasswordCredentials(username, password);
AuthScope authScope = new AuthScope(PROXY_HOST, PROXY_PORT);
client.getState().setProxyCredentials(authScope, credentials);
try {
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
String response = method.getResponseBodyAsString();
System.out.println("Response = " + response);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}
}
}
这只是分享的一小段爬虫代理,拿到数了我们还要进行一些其他的工作,数据的分析,过滤等,最终才是我们想要的数据。下次分享下关于数据的分析还有过滤。还有就是不同的语言写的程序多少是有差别的,如果需要其他语言关于使用代理的可以去亿牛云官网详细了解下www.16yun.cn。