当前位置:   article > 正文

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

jsoup读取有道翻译

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

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

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

下面附上调用函数:

  1. public static String getTranslate(String word)throws Exception
  2. {
  3. word=word.replaceAll(" ", "+");
  4. String url="http://m.youdao.com/dict?le=eng&q="+word;
  5. CloseableHttpClient client=HttpClients.createDefault(); //创建一个可关闭的客户端
  6. HttpGet hp=new HttpGet(url);//创建post方法
  7. //设置头信息
  8. hp.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
  9. hp.setHeader("Accept-Encoding", "gzip, deflate");
  10. hp.setHeader("Accept-Language","zh-cn");
  11. hp.setHeader("Connection","keep-alive");
  12. 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");
  13. hp.setHeader("Host","m.youdao.com");
  14. hp.setHeader("Referer","http://m.youdao.com");
  15. hp.setHeader("Upgrade-Insecure-Requests","1");
  16. 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");
  17. CloseableHttpResponse response=client.execute(hp);
  18. HttpEntity entity = response.getEntity();
  19. String web= EntityUtils.toString(entity,"UTF-8");
  20. //System.out.println(web);
  21. int i=web.indexOf("该词条暂未被收录");
  22. if(i==-1)
  23. {
  24. Document doc=Jsoup.parse(web,"utf-8");
  25. Elements con=doc.getElementsByTag("ul");
  26. return con.get(2).text();
  27. }else{
  28. return "该词条暂未被收录";
  29. }
  30. }


本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号