我正在用jsoup抓取一个电子商务网站。在这我想得到标签,如,和价格。在jsoup.parse()之后,我无法得到这个。
<div id="ctl00_ContentPlaceHolder1_ctl00_ctl03_Showcase">
<div class="controlcontent_r">
<div class="bucketgroup">
<div class="prod_viewsparent">
<div class="bucket" style="width: 175px; height: 280px;">
<div class="bucket_left">
<a href="/Products/Buy-Online-Electronics-Cameras-Digital-Cameras/Nikon/Nikon-Coolpix-L27-Point--Shoot/pid-2849731.aspx">
<img class="mtb-img" style="width: 150px; height: 150px;" src="http://resources-images.martjackhosting.com/s3/martjack-resources/5d4b3aa1-119a-4d82-b9bb-1b6bdbd62002/Images/ProductImages/Source/NikonL27-BLK.jpg;width=150;height=150;scale=canvas" alt="Nikon Coolpix L27 Point & Shoot" title="Digital Cameras, Nikon, Nikon Coolpix L27 Point & Shoot"></a>
<div id="2849731" class="btn_quick_view" style="display:none">
<a rel="2849731,0,2466375,5d4b3aa1-119a-4d82-b9bb-1b6bdbd62002" href="#">Quick View</a></div>
<h4 class="mtb-title">Nikon Coolpix L27 Point & Shoot</h4>
<div class="mtb-desc">
<span class="mtb-price">
<label class="mtb-mrp">
<b class="lb1"> MRP </b>
<span class="WebRupee">Rs. </span>
4,990
</label>
<label class="mtb-ofr">
<b class="lb2"> Now At </b>
<span class="WebRupee">Rs. </span>
4,700
</label>
</span>
<span class="offer_block">
<a class="mtb-more" href="/Products/Buy-Online-Electronics-Cameras-Digital-Cameras/Nikon/Nikon-Coolpix-L27-Point--Shoot/pid-2849731.aspx" title="Click for more details"></div>
解析后,我看不到“div class=“bucket”标记。
我怎么处理?
2条答案
按热度按时间hpcdzsge1#
请出示您的密码好吗?
顺便说一句,如果你想解析一个网站,最好使用
connect()
而不是parse()
.下面是一个如何
<div class="controlcontent_r">...</div>
标签:此代码打印三个元素(用空行分隔):
编辑:
正如评论中提到的,事情变得更加复杂
<div class='bucket'>
标签。而您可以轻松地解析controlcontent_r
标签使用jsoupbucket
看起来是由脚本生成的。你可以做一个简单的测试:
没有
bucket
标记在那里,意味着您无法检索它(使用jsoup)-解决方案是使用另一个库来执行脚本。方便的是,我已经在这里发布了一个简短的列表:试图解析javascript隐藏的html
gajydyqb2#
要与javascript交互,请使用selenium框架(googleit)。然后可以将元素解析为jsoup元素。 selenium 很容易。我很快就学会了。