前言
这是我第一次用Java来写爬虫项目,研究的也不是很透彻,所以爬虫技术的理论方面的就不说太多了。 主要还是以如何爬取商品信息为主,爬取最简单的商品信息,给出大概的思路和方法。

对于没有反爬技术的网站,爬取商品信息最简单。我测试了京东、淘宝、天猫这些大型购物网站,发现只有天猫商城是没有做任何反爬处理的,所以就从最简单的爬取天猫商品信息开始写。

思路方法
1、对于没有反爬技术的网站思路最简单。直接在天猫商城首页https://www.tmall.com/搜索“毛巾”时,会向一个服务器发出请求,得到跳转后的页面:

https://list.tmall.com/search_product.htm?q=%C3%AB%BD%ED&type=p&vmarket=&spm=875.7931836%2FB.a2227oh.d100&from=mallfp…pc_1_searchbutton

2、对得到的地址进行分析,把一些看起来多余的地址参数删掉重新请求(具体的其他参数我目前还没有深入研究),发现并没有对页面的访问产生影响。再对网址URL进行解码,得到%C3%AB%BD%ED为中文“毛巾”的UrlEncode编码。

https://list.tmall.com/search_product.htm?q=%C3%AB%BD%ED

3、以上分析则可以得出该页面的请求地址为https://list.tmall.com/search_product.htm?q=毛巾

4、Java后台代码

<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version>
</dependency>
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version>
</dependency>
<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version>
</dependency>
String input = "毛巾";
// 需要爬取商品信息的网站地址
String url = "https://list.tmall.com/search_product.htm?q=" + input;
// 动态模拟请求数据
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(url);
// 模拟浏览器浏览(user-agent的值可以通过浏览器浏览,查看发出请求的头文件获取)
httpGet.setHeader("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36");
CloseableHttpResponse response = httpclient.execute(httpGet);
// 获取响应状态码
int statusCode = response.getStatusLine().getStatusCode();
try {HttpEntity entity = response.getEntity();// 如果状态响应码为200,则获取html实体内容或者json文件if(statusCode == 200){String html = EntityUtils.toString(entity, Consts.UTF_8);// 提取HTML得到商品信息结果Document doc = null;// doc获取整个页面的所有数据doc = Jsoup.parse(html);//输出doc可以看到所获取到的页面源代码
//      System.out.println(doc);// 通过浏览器查看商品页面的源代码,找到信息所在的div标签,再对其进行一步一步地解析Elements ulList = doc.select("div[class='view grid-nosku']");Elements liList = ulList.select("div[class='product']");// 循环liList的数据(具体获取的数据值还得看doc的页面源代码来获取,可能稍有变动)for (Element item : liList) {// 商品IDString id = item.select("div[class='product']").select("p[class='productStatus']").select("span[class='ww-light ww-small m_wangwang J_WangWang']").attr("data-item");System.out.println("商品ID:"+id);// 商品名称String name = item.select("p[class='productTitle']").select("a").attr("title");System.out.println("商品名称:"+name);// 商品价格String price = item.select("p[class='productPrice']").select("em").attr("title");System.out.println("商品价格:"+price);// 商品网址String goodsUrl = item.select("p[class='productTitle']").select("a").attr("href");System.out.println("商品网址:"+goodsUrl);// 商品图片网址String imgUrl = item.select("div[class='productImg-wrap']").select("a").select("img").attr("data-ks-lazyload");System.out.println("商品图片网址:"+imgUrl);System.out.println("------------------------------------");}// 消耗掉实体EntityUtils.consume(response.getEntity());} else {// 消耗掉实体EntityUtils.consume(response.getEntity());}} finally {response.close();}

5、Java运行结果:

简单爬虫,爬取天猫商品信息相关推荐

  1. python爬取天猫商品信息

    python爬取天猫商品信息 主要信息有:商品名,价格,月销量,评论数,人气值,店铺评分 以智能手机为例! 首先,发掘网址规律: 第二页的网址如上 第三页的网址如上 注意网址中的数字(靠近中间位置): ...

  2. Python爬虫使用selenium爬取天猫商品信息

    文章目录 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例的人,却不知道如何去学习更加高深的知识. 那么针对这三类人,我 ...

  3. 2.简单爬虫————爬取拉勾网招聘信息(一)

    该文章仅供学习,如有错误,欢迎指出 1.开始创建一个项目 mkdir lagou 2.进入到文件夹下创建python3的虚拟环境 pipenv install scrapy 3.进入pipenv 下使 ...

  4. [爬虫]采用Go语言爬取天猫商品页面

    最近工作中有一个需求,需要爬取天猫商品的信息,整个需求的过程如下: 修改后端广告交易平台的代码,从阿里上传的素材中解析url,该url格式如下: https://handycam.alicdn.com ...

  5. Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情

    Java爬虫爬取 天猫 淘宝 京东 搜索页和 商品详情 先识别商品url,区分平台提取商品编号,再根据平台带着商品编号爬取数据. 1.导包 <!-- 爬虫相关Jar包依赖 --><d ...

  6. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

    利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...

  7. layui获取input信息_python爬虫—用selenium爬取京东商品信息

    python爬虫--用selenium爬取京东商品信息 1.先附上效果图(我偷懒只爬了4页) 2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Hea ...

  8. Python爬虫实战,requests+openpyxl模块,爬取手机商品信息数据(附源码)

    前言 今天给大家介绍的是Python爬取手机商品信息数据,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本 ...

  9. python爬虫爬取京东商品评价_python爬取京东商品信息及评论

    ''' 爬取京东商品信息: 功能: 通过chromeDrive进行模拟访问需要爬取的京东商品详情页(https://item.jd.com/100003196609.html)并且程序支持多个页面爬取 ...

最新文章

  1. Win7 wifi热点设置( 转载)
  2. lightoj1060_组合数学
  3. python获取涨停股票_今日股市光大证券
  4. oracle查询可更新结果集,jdbc 可更新结果集
  5. 新云网站管理系统最新版注入漏洞
  6. 魅族16s Pro细节曝光:骁龙855plus 未上Flyme 8
  7. 如何使用Log4net创建日志及简单扩展
  8. SSL证书 和 CA证书 区别
  9. k8s Custom Resource
  10. html文本框能不能粘贴图片,[免费开源]wangEditor富文本框解决方案,粘贴自动上传图片(截图上传神器啊!),可嵌入视频,vue和jquery的BS框架都能用,不能用在cs哦!...
  11. 2022年微信小程序源码130个分享
  12. matlab2010反复激活
  13. shoemaster安装教程(含详细图文步骤)
  14. Electron“安装已中止,安装程序未成功地运行完成”
  15. 少儿编程启蒙课程9:善用变量 拥抱变化
  16. jks证书转为pem证书,TrustedCertEntry not supported的解决办法
  17. 第8个HttpClient 例子.HttpClient+jsoup 获取网站相关信息
  18. Web APIs第01天笔记——Web API介绍
  19. 电子邮箱有哪些类型,2020什么邮箱最火爆?
  20. 深度学习大牛andrew.Ng DeepLearning

热门文章

  1. sql 语句in 使用占位符
  2. NVIDIA Jetson AGX Xavier 配置pytorch环境,anaconda,Pycharm
  3. 计算机网络语音传输杂音回音,电脑使用麦克风有杂音的解决方法-电脑自学网...
  4. Thinkpad T420,430等电脑使用微信进行语音视频时麦克杂音
  5. 神经网络与深度学习一 :介绍深度学习
  6. 关于我——人工智能专业大二的一年
  7. Jquery实现textarea自动换行
  8. IPad Pro 2018 Unity 屏幕适配 解决无法全屏问题
  9. 软链接与硬链接的区别
  10. 955.WLB 不加班公司名单,新增5家公司