资源简介

从大众点评完首页:http:dianping.com/citylist 开始爬取数据,用户在输出界面输入想要搜索的地域名以及商铺名以后,可以获得爬取到的结果,实现了简单的检索功能,达到了大众点评网数据爬取的目的

资源截图

代码片段和文件信息

package DaZhongjiansuo;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.junit.Test;

public class DZDemo{

//获得httpclient
private HttpClient httpclient=new HttpClient();

//定义一个url,url表示最终所搜的域名
private String url;

//定义i为1,i表示页码编号,作用是循环获得所有页码
private int i=1;
//Scanner s = new Scanner(System.in);
//定义str,str表示输入的地名
private String str = null;

//定义keywordstr,keywordstr表示输入的要搜索的字词
private String keywordstr = null;

//定义shop,shop表示你搜索到的商铺信息(包括商铺名称、星级、点评数)
private String shop=null;

//定义shoplist,为了存放搜索到的所有商铺信息
List shoplist=new ArrayList();

//有参构造,作用是获得在页面上输入的参数
public DZDemo(String str String keywordstr) {
super();
this.str = str;
this.keywordstr = keywordstr;
}


public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String getKeywordstr() {
return keywordstr;
}
public void setKeywordstr(String keywordstr) {
this.keywordstr = keywordstr;
}


//获得区域Url
public String getAreaUrl(){
//定义区域URL
String areaurl=null;
GetMethod getmethod=new GetMethod(“http://www.dianping.com/citylist“);
getmethod.setRequestHeader(“Accept“ “text/html“);
getmethod.setRequestHeader(“Accept-Language“ “zh-CNzh;q=0.8en;q=0.6“);
getmethod.setRequestHeader(“User-Agent“ “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/47.0.2526.106 Safari/537.36“);
try {
//String st=“爱知“;
//System.out.println(“爱知“==(st));
//获得方法执行返回码,返回码为200表示方法执行成功
int statucode=httpclient.executeMethod(getmethod);
//System.out.println(statucode);
if(statucode==HttpStatus.SC_OK){
//获得请求返回的string类型的响应
String html=getmethod.getResponseBodyAsString();
//jsoup将string类型的响应解析称document类型
Document doc=getDocument(html);
//获得所有区域所在的块
Elements elements=doc.select(“[class=glossary-list gl-py]“).select(“li“).select(“a“);
for(Element element:elements){
//获得区域名称
String AreaStr=element.text();
//System.out.println(AreaStr);
//获得你所输入的区域对应的URL
if(str.equals(AreaStr)){
areaurl=“http://www.dianping.com“+element.attr(“href“);
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally{
//释放链接
getmethod.releaseConnection();
}
//System.out.println(areaurl);
return areaurl;
}

//获得搜索店名URL
public String getSearchUrl(){
//获得你所搜索的区域URL
String searchUrl=getAreaUrl();
//Scanner s = new Scanne

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-02-18 15:49  DZDP\
     文件        1093  2016-02-02 20:11  DZDP\.classpath
     文件        1329  2016-02-02 11:25  DZDP\.project
     目录           0  2016-02-18 15:49  DZDP\.settings\
     文件         522  2016-02-01 23:32  DZDP\.settings\.jsdtscope
     文件         364  2016-02-01 23:32  DZDP\.settings\org.eclipse.jdt.core.prefs
     文件         471  2016-02-01 23:32  DZDP\.settings\org.eclipse.wst.common.component
     文件         414  2016-02-01 23:32  DZDP\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2016-02-01 23:32  DZDP\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2016-02-01 23:32  DZDP\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2016-02-18 15:49  DZDP\src\
     目录           0  2016-02-18 15:49  DZDP\src\DaZhongjiansuo\
     文件        9427  2016-02-03 18:50  DZDP\src\DaZhongjiansuo\DZDemo.java
     文件        1999  2016-02-04 11:54  DZDP\src\DaZhongjiansuo\DZServlet.java
     目录           0  2016-02-18 15:49  DZDP\WebRoot\
     文件        1206  2016-02-03 20:44  DZDP\WebRoot\index.jsp
     文件        2098  2016-02-02 16:03  DZDP\WebRoot\index_01.jsp
     文件         932  2016-02-02 13:26  DZDP\WebRoot\JavaBean_03.jsp
     目录           0  2016-02-18 15:49  DZDP\WebRoot\meta-INF\
     文件          39  2016-02-01 23:32  DZDP\WebRoot\meta-INF\MANIFEST.MF
     文件         881  2016-02-02 11:30  DZDP\WebRoot\MyJsp01.jsp
     文件         828  2016-02-02 16:04  DZDP\WebRoot\Suc.jsp
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\classes\
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\classes\com\
     文件         865  2016-02-02 20:11  DZDP\WebRoot\WEB-INF\classes\com\UserBean.class
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\classes\DaZhongjiansuo\
     文件        7655  2016-02-03 18:50  DZDP\WebRoot\WEB-INF\classes\DaZhongjiansuo\DZDemo.class
     文件        3120  2016-02-04 11:54  DZDP\WebRoot\WEB-INF\classes\DaZhongjiansuo\DZServlet.class
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\classes\demo\
     目录           0  2016-02-18 15:49  DZDP\WebRoot\WEB-INF\classes\demo\serv\
............此处省略24个文件信息

评论

共有 条评论