当前位置: 首页 > news >正文

个人建设任务网站镇江网站推广排名

个人建设任务网站,镇江网站推广排名,南和邢台网站制作,建设局属于什么行业文章目录 介绍jsoup使用1.解析url#xff0c;获取前端代码2.解决京东安全界面跳转3.获取每一组的数据4.获取商品数据的具体信息4.最终代码 介绍 网络爬虫#xff0c;就是在浏览器上#xff0c;代替人类爬取数据#xff0c;Java网络爬虫就是通过Java编写爬虫代码#xff0… 文章目录 介绍jsoup使用1.解析url获取前端代码2.解决京东安全界面跳转3.获取每一组的数据4.获取商品数据的具体信息4.最终代码 介绍 网络爬虫就是在浏览器上代替人类爬取数据Java网络爬虫就是通过Java编写爬虫代码代替人类从网络上爬取信息数据。程序员通过设定既定的规则让程序代替我们从网络上获取海量我们需要的数据比如图片企业信息等。爬虫的关键是对于网页信息的解析。 什么是jsoup jsoup是一个用于处理现实世界HTML的Java库。它提供了一个非常方便的API用于获取URL以及提取和操作数据使用最好的HTML5 DOM方法和CSS选择器 jsoup使用 连接url爬取网页代码html代码解析网页代码获取需要部分的数据 我们以解析京东网页红框数据为例 1.解析url获取前端代码 package com.xhf;import org.jsoup.Jsoup; import org.jsoup.nodes.Document;import java.io.IOException; import java.net.URL;public class JsoupTest {static String url https://search.jd.com/Search?keyword%E9%A4%90%E5%B7%BE%E7%BA%B8;public static void main(String[] args) throws IOException {// 解析网页, document就代表网页界面Document document Jsoup.parse(new URL(url), 5000);// 打印获取前端代码System.out.println(document);} }2.解决京东安全界面跳转 直接通过url访问经常遇到弹出京东安全的界面 !doctype html html langen head meta charsetutf-8 meta http-equivX-UA-Compatible contentIEedge meta nameviewport contentwidthdevice-width,initial-scale1.0,user-scalableno,maximum-scale1.0,viewport-fitcover title京东安全/title link hrefhttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/css/app.6f723501.css relpreload asstyle link hrefhttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/js/app.js relpreload asscript link hrefhttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/js/chunk-vendors.js relpreload asscript link hrefhttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/css/app.6f723501.css relstylesheet /head body !-- 不要删除这个div, class请勿修改-- div classipaas-floor-app/div script typetext/javascript srchttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/js/chunk-vendors.js/script script typetext/javascript srchttps://cfe.m.jd.com/privatedomain/risk_handler/03101900/js/app.js/script /body /html这算是对于爬取数据的一种反制措施。直接通过url请求服务器会认为客户端没有登录因此会跳出京东安全的登陆界面让他们登录。以前可以通过添加header解决现在得添加cookie了。获取cookie的方式如下 空白处右击鼠标选择检查右边栏中选择网络。如果没有点击加号更多工具选择网络找到Search大头的请求如果没有刷新重发请求选中请求查看标头选择cookies找到以thor为key的cookie 以下就是修正后的代码 package com.xhf;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.Map;public class JsoupTest {static String url https://search.jd.com/Search?keyword%E9%A4%90%E5%B7%BE%E7%BA%B8;public static void main(String[] args) throws IOException {// 设置cookieMapString, String cookies new HashMapString, String();cookies.put(thor, 03F9B0325C5DCD2FCCDB435C227FD474D0B53C9143EB5DDA60599BDB9AE7A415B7CFEB4418F01DDEB8B8B9DD502D366A4E0BA2D84A0FE6CB6658061484CA95D230C7B76A36E31F4B329D2EFAC7DCD1E526F3C416CC50617276FED57FAF618892895784CB6446F6B8468A807290C12C3BA1C99DD0C0939C48C4E69681CA900EA9);// 解析网页, document就代表网页界面Document document Jsoup.connect(url).cookies(cookies).get();System.out.println(document);} } !doctype html html head meta http-equivContent-Type contenttext/html; charsetutf-8 meta http-equivX-UA-Compatible contentIEedge meta namerenderer contentwebkit meta http-equivCache-Control contentmax-age300 link reldns-prefetch href//search.jd.com link reldns-prefetch href//item.jd.com link reldns-prefetch href//list.jd.com link reldns-prefetch href//p.3.cn link reldns-prefetch href//misc.360buyimg.com link reldns-prefetch href//nfa.jd.com link reldns-prefetch href//d.jd.com link reldns-prefetch href//img12.360buyimg.com link reldns-prefetch href//img13.360buyimg.com link reldns-prefetch href//static.360buyimg.com link reldns-prefetch href//csc.jd.com link reldns-prefetch href//mercury.jd.com link reldns-prefetch href//x.jd.com link reldns-prefetch href//wl.jd.com title餐巾纸 - 商品搜索 - 京东/title meta nameKeywords content餐巾纸京东餐巾纸 meta namedescription content在京东找到了餐巾纸305051件餐巾纸的类似商品其中包含了餐巾纸价格、餐巾纸评论、餐巾纸导购、餐巾纸图片等相关信息 stylejsoup中的document可以当作js中的document使用解析网站内容就是在js中操作document获取信息 3.获取每一组的数据 我们发现所有的商品数据都是通过ul标签进行渲染 每单个数据则是用li标签渲染 所以如果我们要获取每个商品数据我们可以先通过class获取ul元素然后选择出ul元素内包含的所有li元素 // 通过class获取ul标签Elements ul document.getElementsByClass(gl-warp clearfix);// 获取ul标签下的所有li标签Elements liList ul.select(li);for (Element element : liList) {System.out.println(------------------);System.out.println(element);System.out.println();}------------------ li data-sku1297484 data-spu1297484 ware-type10 bybt0 classgl-item div classgl-i-wrap div classp-img a target_blank title【纸选维达,实力出发】爆品低至6.6折,抢新品低价试用 【神券疯狂领】满199减40神券 【会员福利送】下单满1元赢手机好礼,直达开抢 href//item.jd.com/1297484.html onclicksearchlog(1, 1297484,28,2,,flagsClk2097575); img width220 height220 data-img1 data-lazy-img//img14.360buyimg.com/n7/jfs/t1/96373/19/43919/202641/64eb0ad6F1109a3ef/6d8d78fabae02163.jpg /a div data-lease data-catid15908 data-venid1000001683 data-presale0/div /div div classp-price strong classJ_1297484 data-presale0 data-done1 em/emi data-price129748478.90/i /strong /div div classp-name p-name-type-2 a target_blank title【纸选维达,实力出发】爆品低至6.6折,抢新品低价试用 【神券疯狂领】满199减40神券 【会员福利送】下单满1元赢手机好礼,直达开抢 href//item.jd.com/1297484.html onclicksearchlog(1, 1297484,28,1,,flagsClk2097575); emimg classp-tag3 src//m.360buyimg.com/cc/jfs/t1/113659/27/28361/2962/62ecb1f0E6c5fc50c/b914680e87a2c8e9.png 维达Vinda抽纸 超韧150抽*24包S码 湿水不易破 卫生纸 纸巾 font classskcolor_ljg餐巾纸/font 整箱/em i classpromo-words idJ_AD_1297484【纸选维达,实力出发】爆品低至6.6折,抢新品低价试用 【神券疯狂领】满199减40神券 【会员福利送】下单满1元赢手机好礼,直达开抢/i /a /div div classp-commit stronga idJ_comment_1297484 target_blank href//item.jd.com/1297484.html#comment onclicksearchlog(1, 1297484,28,3,,flagsClk2097575);/a/strong /div div classp-shop data-dongdong data-selfware1 data-score5 data-reputation99 span classJ_im_icona target_blank classcurr-shop hd-shopname onclicksearchlog(1,1000001683,0,58) href//mall.jd.com/index-1000001683.html?frompc title维达京东自营官方旗舰店维达京东自营官方旗舰店/a/span /div div classp-icons idJ_pro_1297484 data-done1 i classgoods-icons J-picon-tips J-picon-fix data-idx1 data-tips京东自营品质保障自营/i i classgoods-icons4 J-picon-tips data-tips本商品参与满件促销2件9折/i /div div classp-operate a classp-o-btn contrast J_contrast contrast data-sku1297484 hrefjavascript:; onclicksearchlog(1, 1297484,28,6,,flagsClk2097575)i/i对比/a a classp-o-btn focus J_focus data-sku1297484 hrefjavascript:; onclicksearchlog(1, 1297484,28,5,,flagsClk2097575)i/i关注/a a classp-o-btn addcart data-stocknew1297484 href//cart.jd.com/gate.action?pid1297484amp;pcount1amp;ptype1 target_blank onclicksearchlog(1, 1297484,28,4,,flagsClk2097575) data-limit0i/i加入购物车/a /div div classp-stock hide data-stocknew1297484 data-province山西/div /div /li------------------ li data-sku3092062 data-spu3092062 ware-type10 bybt0 classgl-item div classgl-i-wrap div classp-img a target_blank title【洁柔新品来袭】洁柔爱马仕设计师联名款重磅上线爆款好物空前钜惠爆品低至6.6折【洁柔大会员】抢神券,会员臻享八大特权go href//item.jd.com/3092062.html onclicksearchlog(1, 3092062,29,2,,flagsClk2097574); img width220 height220 data-img1 data-lazy-img//img12.360buyimg.com/n7/jfs/t1/97596/10/33191/189837/64ecc704F8cbfe25a/9015a6baf21bd1b9.jpg /a div data-lease data-catid15908 data-venid1000001901 data-presale0/div /div div classp-price strong classJ_3092062 data-presale0 data-done1 em/emi data-price309206254.90/i /strong /div div classp-name p-name-type-2 a target_blank title【洁柔新品来袭】洁柔爱马仕设计师联名款重磅上线爆款好物空前钜惠爆品低至6.6折【洁柔大会员】抢神券,会员臻享八大特权go href//item.jd.com/3092062.html onclicksearchlog(1, 3092062,29,1,,flagsClk2097574); emimg classp-tag3 src//m.360buyimg.com/cc/jfs/t1/113659/27/28361/2962/62ecb1f0E6c5fc50c/b914680e87a2c8e9.png 洁柔抽纸 活力阳光橙3层120抽面巾纸*24包 母婴可用 全家适用/em i classpromo-words idJ_AD_3092062【洁柔新品来袭】洁柔爱马仕设计师联名款重磅上线爆款好物空前钜惠爆品低至6.6折【洁柔大会员】抢神券,会员臻享八大特权go/i /a /div div classp-commit stronga idJ_comment_3092062 target_blank href//item.jd.com/3092062.html#comment onclicksearchlog(1, 3092062,29,3,,flagsClk2097574);/a/strong /div div classp-shop data-dongdong data-selfware1 data-score5 data-reputation99 span classJ_im_icona target_blank classcurr-shop hd-shopname onclicksearchlog(1,1000001901,0,58) href//mall.jd.com/index-1000001901.html?frompc title洁柔京东自营官方旗舰店洁柔京东自营官方旗舰店/a/span /div div classp-icons idJ_pro_3092062 data-done1 i classgoods-icons J-picon-tips J-picon-fix data-idx1 data-tips京东自营品质保障自营/i /div div classp-operate a classp-o-btn contrast J_contrast contrast data-sku3092062 hrefjavascript:; onclicksearchlog(1, 3092062,29,6,,flagsClk2097574)i/i对比/a a classp-o-btn focus J_focus data-sku3092062 hrefjavascript:; onclicksearchlog(1, 3092062,29,5,,flagsClk2097574)i/i关注/a a classp-o-btn addcart data-stocknew3092062 href//cart.jd.com/gate.action?pid3092062amp;pcount1amp;ptype1 target_blank onclicksearchlog(1, 3092062,29,4,,flagsClk2097574) data-limit0i/i加入购物车/a /div div classp-stock hide data-stocknew3092062 data-province山西/div /div /li ...其余数据不做展示4.获取商品数据的具体信息 通过遍历上述代码中出现的liList可以获取到每一个li元素。每个元素都代表了商品的一组信息。具体如下所示。 如果我们要获取更为具体的信息比如价格图片介绍等信息。我们就需要对li标签所封装的对象进行数据的截取。 我们可以用getElementsByTag(img)来获取带有img标签的对象然后获取其data-lazy-img属性的数据 String pict element.getElementsByTag(img).first().attr(data-lazy-img);价格 我们可以通过getElementsByClass(p-price)的方式获取对象然后获取其中内容 String price element.getElementsByClass(p-price).first().text();shop名称类似价格获取方式 4.最终代码 package com.xhf;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.Map;/*** 解析京东界面, 爬取商品数据*/ public class JsoupTest {static String url https://search.jd.com/Search?keyword%E9%A4%90%E5%B7%BE%E7%BA%B8;public static void main(String[] args) throws IOException {// 设置cookieMapString, String cookies new HashMapString, String();cookies.put(thor, 03F9B0325C5DCD2FCCDB435C227FD474D0B53C9143EB5DDA60599BDB9AE7A415B7CFEB4418F01DDEB8B8B9DD502D366A4E0BA2D84A0FE6CB6658061484CA95D230C7B76A36E31F4B329D2EFAC7DCD1E526F3C416CC50617276FED57FAF618892895784CB6446F6B8468A807290C12C3BA1C99DD0C0939C48C4E69681CA900EA9);// 解析网页, document就代表网页界面Document document Jsoup.connect(url).cookies(cookies).get();// 通过class获取ul标签Elements ul document.getElementsByClass(gl-warp clearfix);// 获取ul标签下的所有li标签Elements liList ul.select(li);for (Element element : liList) {System.out.println(------------------);String pict element.getElementsByTag(img).first().attr(data-lazy-img);String price element.getElementsByClass(p-price).first().text();String shopName element.getElementsByClass(p-shop).first().text();System.out.println(pict);System.out.println(price);System.out.println(shopName);}} }
http://www.w-s-a.com/news/427073/

相关文章:

  • 简单的手机网站模板好看大方的企业网站源码.net
  • 沈阳住房和城乡建设厅网站网站个人备案做论坛
  • 企业建网站的目的开家网站建设培训班
  • 做怎么网站网站优化和推广
  • 建站工具 风铃网站每年空间域名费用及维护费
  • 网站开发工具 知乎工业软件开发技术就业前景
  • 永济微网站建设费用新手如何自学编程
  • 在本地怎么做网站深圳保障房申请条件2022
  • 广州天河区网站建设公司东莞网络游戏制作开发
  • 哪个网站做免费小程序rio门户网站的制作
  • 短网站生成查询网站所有关键词排名
  • 阿里云购买网站登录技术服务外包公司
  • 淘宝单页面网站手机制作游戏的软件
  • 汉中市网站建设wordpress编辑器好麻烦
  • 织梦做的网站快照被攻击在线看crm系统
  • 青岛物流公司网站建设网站建设提议
  • 企业网站建设高端品牌宿州注册公司多少钱
  • 个人微信公众号怎么做微网站吗湛江网站制作方案
  • 学校网站改版南京展厅设计装修
  • 手机网站有免费做的吗建设银行网站不能登录
  • 树莓派做影视网站网站建设企业 熊账号
  • 网站iis7.5配置免费网站建设模板下载
  • 生物公司网站建设方案wordpress自定义字段调用
  • 静态网站公用头部如何调用标题wordpress自动采集翻译插件怎么用
  • 网站做单链 好不好网站营销不同阶段的网站分析目标
  • 网线制作颜色顺序兰州网站推广优化
  • 北京沙河教做网站的企业融资以什么为基础
  • 给网站添加百度地图绵阳做绵阳做网站网站
  • 用电脑做服务器制作网站东莞营销网站建设
  • 网站需要怎么做wordpress 重装