刚来老板(导师)公司实习,接到任务是用java做一个爬虫,来搜索中关村中手机的参数,功能是输入一个关键字,然后可以输出相关手机的CPU型号,操作系统,蓝牙版本。比如:输入s6,就要输出s6手机的相关参数。
嗯,我还不怎么会Java语言,借这个机会可以好好学学,就是这样!下面开始学习吧…
首先需要搞清楚需求是什么,先把过程模拟一遍,就不上图了,自己脑补一下,首先在百度主页面中输入关键字s6,然后需要有页面跳转到搜索结果,然后找到结果相关手机的链接,再跳转到相关手机的页面,接着需要跳转到参数的页面,然后逐一提取相关数据。
网上找了很多教程,好像都没有页面跳转的学习方法。然后还要说的是大家最好有html相关的知识,不会的可以去w3c里面看看。我试过用RULConnection和Jsoup方法,好像都不适用,可能是对于这个网站不适用,中关村搜索出来的页面好像不能直接跳转,尝试多次失败后我最后找到了HTMLUnitDriver类库,这个类库很好用,网上也有相应的jar包,大家自行去下载,相关的学习也可以自己去深入学习。下面开始讲解编码。
首先,在网页上模拟输入关键字必须先找到输入框,打开审查元素(各浏览器名称不一样),找到输入框的位置。
输入框的id是kw,然后再找到百度一下按钮的id是su,那么我们就可以模拟在输入框中输入关键字,然后点击百度一下按钮进行搜索。代码如下:
WebDriver driver = new HtmlUnitDriver();
String url = "https://www.baidu.com/";
driver.get(url);
driver.findElement(By.id