浏览 349 次
锁定老帖子 主题:java爬虫之jsoup的使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2023-02-02
但是关于爬虫语言,我觉得python和Java都是可以直接选的,客观分析,这两种语言都在程序员的工具箱中都占有一席之地。并且入行爬虫大多都是选的python。那这两门语言有区别吗?当然有,对于有一定编程经验的人来说,哪个更顺滑当然能感觉都到。如果你以前从未学过编程,我通常会推荐Java作为第一语言。Python是一种很好的语言,因为python语法比较开放,但是Python隐藏的语法太多,这让新程序员感到困惑。大家都知道jsoup是一款简单好用的页面解析工具,比如下面我们可以使用jsoup做个简单的爬虫,这里我们就以访问百度为例,因为百度是可以爬的,并且反爬机制相对其他网站没有那么严,一般就简单的封IP,那直接加上代理IP就能解决,代码示例如下: Plain Text 复制代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 import java.io.IOException; import java.net.Authenticator; import java.net.InetSocketAddress; import java.net.PasswordAuthentication; import java.net.Proxy; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class Demo { // 代理验证信息 final static String ProxyUser = "username"; final static String ProxyPass = "password"; // 代理服务器(产品官网 www.16yun.cn) final static String ProxyHost = "t.16yun.cn"; final static Integer ProxyPort = 31111; // 设置IP切换头 final static String ProxyHeadKey = "Proxy-Tunnel"; public static String getUrlProxyContent(String url) { Authenticator.setDefault(new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(ProxyUser, ProxyPass.toCharArray()); } }); // 设置Proxy-Tunnel Random random = new Random(); int tunnel = random.nextInt(10000); String ProxyHeadVal = String.valueOf(tunnel); Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ProxyHost, ProxyPort)); try { // 处理异常、其他参数 Document doc = Jsoup.connect(url).timeout(3000).header(ProxyHeadKey, ProxyHeadVal).proxy(proxy).get(); if(doc != null) { System.out.println(doc.body().html()); } } catch (IOException e) { e.printStackTrace(); } return null; } public static void main(String[] args) throws Exception { // 要访问的目标页面 String targetUrl = "http://httpbin.org/ip"; getUrlProxyContent(targetUrl); } } 在这段代码中我们设置了代理ip,请求头中的user-agent,代理是由亿牛云代理提供的隧道转发,可以应对网站的反爬机制,还有更多的反爬技术和爬虫技术慢慢分享给大家。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |