记写过的一个简单的java爬虫:(单线程的)
1:创建HttpClient
2:创建请求方法:HttpGet httpGet = new HttpGet(url);
3:设置Header模拟浏览器行为:
httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36");
4:这样通过httpClient, httpGet可以抓取数据
4.1:发送请求,收取响应,获取网站响应的html,
HttpResponse httpResponse = httpClient.execute(httpGet);
4.2:解析响应
String entity = EntityUtils.toString(httpResponse.getEntity());//得到的String就是页面里面的内容
4.3:再将页面的内容进行解析,获取我们需要的内容,解析方式,采用Jsoup解析
4.3.1:采用Jsoup解析Document doc = Jsoup.parse(html);
4.3.2://获取html标签中的内容
Elements elements=doc.select("ul[class=item_con_list]").select("li[class=con_list_item default_list]");//此为得到列表中的每个元素
for (Element ele:elements) {
String thingID=ele.attr("data-positionid");/得到数据
.........
.........
Model.setThingID(thingID);///将得到的tingID存入实体类Model
.........
........
}
//将每一个对象的值,保存到List集合中
data.add(Model);
5:将得到的数据存入数据库(将得到model集合data写入数据库即可)