企業數據爬蟲項目

企業數據爬蟲項目(豔輝VIP項目)

第一天:下載解析網站頁面

以爬取某電影網上的電影信息爲例,通過xpath,regex獲取網頁上的字段。通過三大sevice,下載網頁service,解析網頁service和數據存儲service,全面爬取網站上的信息。
在這裏插入圖片描述
爬蟲開始——>下載網頁——>解析網頁——>存數數據
三步走,分成三大service,例如存數數據,可以用jdbcService,也可以用hbaseService,這樣方便擴展業務。

/**
	 * 開啓一個爬蟲入口
	 */
	public void startSpider(){
		while(true){
			//從隊列中提取需要解析的url
			String url = urlQueue.poll();
			//判斷url是否爲空
			if(StringUtils.isNotBlank(url)){
				//下載
				Page page = this.downloadPage(url);
				//解析
				this.processPage(page);
				List<String> urlList = page.getUrlList();
				for(String eachurl : urlList){
					this.urlQueue.add(eachurl);
				}
				
				//if(page.getUrl().startsWith("http://list.youku.com/show_page")){
					//存儲數據
					this.storePageInfo(page);
				//}
				
			}else{
				System.out.println("url解析完畢!");
			}
			try {
				Thread.sleep(2000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}

先爬取電影的標題,電影訪問的次數,評論的人數,電影豆瓣的評分等信息。

 String seeNum = HtmlUtil.getFieldByRegex2(rootNode, LoadPropertyUtil.getYOUKU("seeXpath"),
				LoadPropertyUtil.getYOUKU("seeRegex"));
		page.setSeeNum(seeNum);

		// 獲取評論數
		String commentNum = HtmlUtil.getFieldByRegex2(rootNode, LoadPropertyUtil.getYOUKU("commentXpath"),
				LoadPropertyUtil.getYOUKU("commentRegex"));
		page.setCommentNum(commentNum);

		// 獲取豆瓣評分
		String score = HtmlUtil.getFieldByRegex2(rootNode, LoadPropertyUtil.getYOUKU("scoreXpath"),
				LoadPropertyUtil.getYOUKU("scoreRegex"));
		page.setScore(score);
		String title = HtmlUtil.getFieldByRegex2(rootNode, LoadPropertyUtil.getYOUKU("titleXpath"),
				LoadPropertyUtil.getYOUKU("titleRegex"));
		page.setTitle(title);

需要下載源碼可點擊 豔學網

下載源碼後,記住分享喲!

第一步:微信關注公衆號豔學網!

第二步:關注後打開菜單“豔輝福利”——“java福利”,轉發文章至朋友圈。

長按自動識別二維碼,即可關注微信公衆號“豔學網”
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章