Java爬虫:通过有道翻译获取单词和词组意思

注意:这个不是调用有道翻译的api而是使用爬虫进行信息爬取的。

经测试有道对于手机网页版的单词的查询并没有设置时间间隔的反爬虫机制(so 速度还是很快的);

使用HttpClient-4.5.5进行请求,使用jsoup-1.11.2进行解析。

下面附上调用函数:

public static String getTranslate(String word)throws Exception
{
	word=word.replaceAll(" ", "+");
	String url="http://m.youdao.com/dict?le=eng&q="+word;
	CloseableHttpClient client=HttpClients.createDefault(); //创建一个可关闭的客户端
	HttpGet hp=new HttpGet(url);//创建post方法
	//设置头信息
	hp.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
	hp.setHeader("Accept-Encoding", "gzip, deflate");
	hp.setHeader("Accept-Language","zh-cn");
	hp.setHeader("Connection","keep-alive");
	hp.setHeader("Cookie","___rl__test__cookies=1526297207528; JSESSIONID=abc8T9npcpuvChUlnzEnw; _yd_newbanner_day=14; OUTFOX_SEARCH_USER_ID_NCOO=1006420317.710858; OUTFOX_SEARCH_USER_ID=1297994902@220.180.56.52");
	hp.setHeader("Host","m.youdao.com");
	hp.setHeader("Referer","http://m.youdao.com");
	hp.setHeader("Upgrade-Insecure-Requests","1");
	hp.setHeader("User-Agent","Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1");
	CloseableHttpResponse response=client.execute(hp);
	HttpEntity entity = response.getEntity();
	String web= EntityUtils.toString(entity,"UTF-8");
	//System.out.println(web);
	int i=web.indexOf("该词条暂未被收录");
	if(i==-1)
	{
	Document doc=Jsoup.parse(web,"utf-8");
	Elements con=doc.getElementsByTag("ul");
	
		
		return con.get(2).text();
	}else{
		return "该词条暂未被收录";
		
	}
}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值