需求:从大众点评网抓取 所有区域,省份,城市信息
所使用技术:manve+jsoup.1.7.3+httpclient.4.3.3

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>chpro</groupId><artifactId>souchisouwan-example</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>souchisouwan-example Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.3.3</version></dependency><!-- jsoup --><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.7.3</version></dependency></dependencies><build><finalName>souchisouwan-example</finalName></build>
</project>

JsoupAction类

package com.souchisouwan.example;import java.util.ArrayList;
import java.util.List;import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;import com.souchisouwan.util.HttpUtil;/*** 抓取大众点评网区域省份城市信息* @author Administrator**/
public class JsoupAction {public static void main(String[] args)throws Exception {String uri = "http://www.dianping.com/citylist";String html = HttpUtil.httpPost(uri);//System.out.println(html);//抓取地区Document doc = Jsoup.parse(html);//解析HTML字符串返回一个Document实现Elements links = doc.select(".root"); for(Element link:links){String area = link.select(".vocabulary").html(); //获得地区Elements shenfens = link.select(".terms"); //获得省份System.out.println(area); //打印地区for(Element sf:shenfens){String shenfen = sf.select("dt").html();System.out.println("\t"+shenfen);  //打印省份Elements shiqus = sf.select("dd>a");for(Element sq:shiqus){String sqtemp = sq.html();String pytemp = sq.attr("href").substring(1);System.out.println("\t\t"+(sqtemp.indexOf("strong")==-1?sqtemp:sqtemp.substring(8,sqtemp.length()-9))+" "+pytemp);}//获取更多String gengduo = sf.select("dd>span").last().attr("data-v");List<String> gengduos = more(gengduo);for(String gd:gengduos){System.out.println("\t\t"+gd);}}//System.out.println(link.toString());}}//获取更多操作public static List<String> more(String index)throws Exception{List<String> result = new ArrayList<String>();String uri = "http://www.dianping.com/ajax/json/index/citylist/getCitylist?_nr_force=122&do=getbyprovince&pID="+index;String html = HttpUtil.httpPost(uri);Document doc = Jsoup.parse(html);//解析HTML字符串返回一个Document实现Elements links = doc.select("a");for(Element link:links){String temp = link.html();String pytemp = link.attr("href");result.add(temp.substring(0,temp.indexOf("&")));}return result;}
}

HttpUtil类

package com.souchisouwan.util;import java.io.IOException;
import java.util.Map;import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;/*** http帮助类* @author Administrator**/
public class HttpUtil {private static HttpClient client = new DefaultHttpClient();/*** post请求* @param url 请求地址* @param param 参数* @return*/public static String httpPost(String url,Map<String,String> param){return null;}/*** post请求* @param url 请求地址* @return*/public static String httpPost(String url){HttpPost post = new HttpPost(url);String result = "";try {HttpResponse res = client.execute(post);result = EntityUtils.toString(res.getEntity());} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return result;}/*** get请求* @param url 请求地址* @return*/public static String httpGet(String url){return null;}/*** get请求* @param url 请求地址* @param param 参数* @return*/public static String httpGet(String url,Map<String,String> param){return null;}/*** https post请求* @param url 请求地址* @param param 参数* @return*/public static String httpsPost(String url,Map<String,String> param){return null;}/*** https post请求* @param url 请求地址* @param param 参数* @return*/public static String httpsPost(String url){return null;}/*** https get请求* @param url* @return*/public static String httpsGet(String url){return null;}
}

控制台打印的部分结果:

华北东北河北石家庄 shijiazhuang保定 baoding秦皇岛 qinghuangdao邯郸 handan廊坊 langfang唐山 tangshan邢台 xingtai承德 chengde沧州 cangzhou张家口 zhangjiakou衡水 hengshui辛集市藁城市晋州市新乐市鹿泉市井陉县正定县栾城县行唐县灵寿县高邑县深泽县赞皇县无极县平山县元氏县赵县宣化县张北县康保县沽源县尚义县蔚县阳原县怀安县万全县怀来县涿鹿县赤城县崇礼县承德县兴隆县平泉县滦平县隆化县丰宁满族自治县宽城满族自治县围场满族蒙古族自治县昌黎县抚宁县卢龙县青龙满族自治县遵化市迁安市滦县滦南县乐亭县迁西县玉田县唐海县霸州市三河市固安县永清县香河县大城县文安县大厂回族自治县定州市涿州市安国市高碑店市满城县清苑县易县徐水县涞源县定兴县顺平县唐县望都县涞水县高阳县安新县雄县曲阳县阜平县博野县蠡县冀州市深州市枣强县武邑县武强县饶阳县安平县故城县景县阜城县泊头市任丘市黄骅市河间市沧县青县东光县海兴县盐山县肃宁县南皮县吴桥县献县孟村回族自治县南宫市沙河市邢台县临城县内丘县柏乡县隆尧县任县南和县宁晋县巨鹿县新河县广宗县平乡县威县清河县临西县武安市邯郸县临漳县成安县大名县涉县磁县肥乡县永年县邱县鸡泽县广平县馆陶县魏县曲周县山西太原 taiyuan大同 datong晋中 jinzhong临汾 linfen长治 changzhi忻州 xinzhou运城 yuncheng晋城 jincheng朔州 shuozhou阳泉 yangquan吕梁 lvliang古交市清徐县阳曲县娄烦县山阴县应县右玉县怀仁县阳高县天镇县广灵县灵丘县浑源县左云县大同县平定县盂县潞城市长治县襄垣县屯留县平顺县黎城县壶关县长子县武乡县沁县沁源县高平市泽州县沁水县阳城县陵川县原平市定襄县五台县代县繁峙县宁武县静乐县神池县五寨县岢岚县河曲县保德县偏关县介休市榆社县左权县和顺县昔阳县寿阳县太谷县祁县平遥县灵石县侯马市霍州市曲沃县翼城县襄汾县洪洞县古县安泽县浮山县吉县乡宁县蒲县大宁县永和县隰县汾西县孝义市汾阳市文水县中阳县兴县临县方山县柳林县岚县交口县交城县石楼县内蒙古呼和浩特 huhehaote包头 baotou呼伦贝尔 hulunbeier赤峰 chifeng鄂尔多斯 eerduosi通辽 tongliao乌海 wuhai兴安盟 xingan巴彦淖尔 bayannaoer锡林郭勒 xilinguole阿拉善 alashan乌兰察布 wulanchabu锡林浩特市乌兰浩特市托克托县武川县和林格尔县清水河县固阳县宁城县林西县霍林郭勒市开鲁县满洲里市扎兰屯市牙克石市根河市额尔古纳市丰镇市卓资县化德县商都县兴和县凉城县五原县磴口县阿尔山市突泉县

PS:希望大家有空关注我的网站哦 我网站的域名是:http://www.souchisouwan.com

实例项目在 开源中国的git上 地址是:http://git.oschina.net/chpro/coushicouwan_example.git  欢迎大家下载

jsoup实战之抓取大众点评网区域省份城市信息相关推荐

  1. 爬取大众点评网的某城市美食店铺数据

    文章目录 前言 一.确定爬取的url 二.开始抓取 1.直接抓取 2.构造请求头 3.抓取信息 4.信息解密 三.将数据保存到数据库 四.总结 前言 某旅游城市在今年的十一期间再次火爆了一把,城市的各 ...

  2. 一个价值一千五的外包项目!抓取大众点评的店铺信息!

    前言 今天在群里有人派外包的其中一个是抓取大众点评的店铺信息,价格一千五,三天内完成!很多刚学编程的小伙伴,应该觉得这个一千五也太容易拿了,相对于大众点评这个网站,其实不是像爬小说,爬表情包那样容易的 ...

  3. python爬取大众点评评论_python爬虫抓取数据 小试Python——爬虫抓取大众点评上的数据 - 电脑常识 - 服务器之家...

    python爬虫抓取数据 小试Python--爬虫抓取大众点评上的数据 发布时间:2017-04-07

  4. python大众点评霸王餐_python抓取大众点评商户信息

    数据说明: 本次爬取大众点评共8个字段信息,包括: 商户名字, 口味评分, 环境评分,服务评分,人均价格,评论数量,地址,商户星级 然后把数据存入excel表格 一 .首页部分 我们可以看到有很多分类 ...

  5. 关于抓取大众点评商户评论的爬虫那点事

    第一波更新:更新时间:2020/03/01 没想到才完成两天就发现了bug,再加上之前有两点内容忘记说,就一起更新了. 更新内容: 1.修复已知的bug.bug主要出在主程序的逻辑问题上,还有一个是关 ...

  6. 小试Python——爬虫抓取大众点评上的数据

    前言 我开通了一个微信公共号"王和阳的航海日志",在上面记录着自己的学习.思考.实践和成长的过程,欢迎关注.交流和拍砖. 碎碎念:某一天一个妹子突然说要让我帮她写个爬虫,貌似在她眼 ...

  7. python抓取大众点评商户信息

    数据说明: 本次爬取大众点评共8个字段信息,包括: 商户名字, 口味评分, 环境评分,服务评分,人均价格,评论数量,地址,商户星级 然后把数据存入excel表格 一 .首页部分 我们可以看到有很多分类 ...

  8. 爬取大众点评网的酒店信息

    输入城市的拼音,就能爬取大众点评上面该城市酒店的信息,将数据写入 csv 文件. 不完善点: 只能输入拼音,当然可以下载第三方库 pinyin 进行转换. 未对输入的城市进行判断 . 代码如下: im ...

  9. python大众点评网应该涉及哪些参考文献及其出版社_python小练习(052):爬取大众点评网美食版块+数据库储存+大数据分析(二)...

    输出的结果: (1, '花隐日式怀石料理(上海五角场店)', '/shop/37765452', '五星商户', '日本菜', '五角场/大学区', '淞沪路8号百联又一城7楼', 331, 91, ...

最新文章

  1. idea基于hibernate生成的Entitle对象,会忽略外键属性
  2. YOLOv5在最新OpenVINO 2021R02版本的部署与代码演示详解
  3. 【转】结合ashx来在DataGrid中显示从数据库中读出的图片
  4. LM393,LM741可以用作电压跟随器吗?
  5. 实验十四-团队项目评审课程学习总结
  6. Oracle 10g OCM Exam 大纲
  7. Qt的简单介绍,发展和由来
  8. 如何“ git clone”包括子模块?
  9. android仿qq登陆demo,runOnUiThread,Handler
  10. simpledateformat_为什么阿里巴巴规定代码中禁用 static 修饰 SimpleDateFormat?
  11. myeclipse 8.5安装freemarker插件方法
  12. ZZULIOJ:1047: 对数表
  13. 如何根据观看距离来确定合适的投影幕布尺寸?
  14. 20159318 《网络攻防实践》第2周学习总结
  15. P1548 [NOIP1997 普及组] 棋盘问题
  16. [2019 icpc徐州] H.Yuuki and a problem 带修改的主席树(主席树+树状数组)
  17. layui导出Excel功能的两种方式的尝试
  18. idea项目打包和部署
  19. Windows XP注册表信息
  20. DuerOS业绩亮眼,如何成为了百度财报新增长点?

热门文章

  1. 华为云会议初体验【华为云至简致远】
  2. python分位数函数_Python numpy.quantile函数方法的使用
  3. VScode配置Mingw64出现问题
  4. MacOS Pycharm 配置 anaconda 环境
  5. SaaS架构实现理论(三)可配置多租户
  6. linux开心的shell,Linux BT 宝塔面板开心版 [一键脚本]
  7. JAVA快速排序过程图解(10步之内看懂)
  8. 从零开始的单片机学习(九)
  9. 信创办公–基于WPS的PPT最佳实践系列 (添加幻灯片编号和其他页脚)
  10. 初次创业复盘,创业方法论