刚来实习接到用Java做爬虫任务:搜索中关村手机参数
刚来老板(导师)的公司进行实习,接到的任务是使用 java 编写一个爬虫,用于搜索中关村的手机参数。这个爬虫的功能是输入一个关键字后,能够输出相关手机的 CPU 型号、操作系统以及蓝牙版本。例如,输入“s6”,就需要输出 s6 手机的相关参数。

我对 Java 语言还不是很擅长呢,借着这个机会正好可以深入学习一下,那就开始吧……
首先要明确需求是什么,接着把过程模拟一遍,不用上图,自行想象。先在百度主页面输入关键字 s6,接着页面会跳转到搜索结果,然后找到与结果相关手机的链接,再跳转至相关手机的页面,之后要跳转到参数的页面,最后逐一提取相关数据。
网上找了许多教程,似乎都未包含页面跳转的学习方法。另外需要说明的是,大家最好具备 html 相关的知识,若不会,可以前往 w3c 中进行查看。我尝试了使用 RULConnection 方法和 Jsoup 方法,似乎它们都不适用,或许是因为对于这个网站而言不适用。中关村搜索出来的页面好像无法直接进行跳转,经过多次尝试后都失败了。最后,我找到了 HTMLUnitDriver 类库,这个类库非常好用,在网上也有相应的 jar 包,大家可以自行去下载,相关的学习也可以自己深入去进行。下面开始讲解编码。
首先,要在网页上模拟输入关键字,就必须先找到输入框。然后打开审查元素(不同浏览器名称有所不同),从而找到输入框的位置。
输入框的 id 为 kw,接着找到百度一下按钮的 id 为 su,这样我们便能模拟在输入框里输入关键字,随后点击百度一下按钮来进行搜索。代码如下:
创建了一个名为 WebDriver 的对象,该对象是通过 new HtmlUnitDriver() 创建的。;
String url = "https://www.baidu.com/";
driver.get(url);
driver.findElement(By.id
« 上一篇
php合并两个数组,php 合并数组