2017年11月1日
今天在爬取“房多多”的小区时,遇到这么一个问题:
链接:http://esf.fangdd.com/shenzhen/xiaoqu/?query=特发和平里花园
根据小区名搜索,如果有搜索结果,并且与我搜索的小区名一样就进入该小区的链接,然后爬取详情,但是,我发现它的小区名左右有空格,比如:
<a href="http://esf.fangdd.com/shenzhen/xiaoqu_22007.html" prevent-default="" class="name"> 特发和平里花园 </a>
这样我就不能通过这样去匹配了:
//a[text()="特发和平里花园"]/@href
查了一下,找到了解决方案:
//a[normalize-space(text())="特发和平里花园"]/@href
在这个示例中,normalize-space是关键。
2017年11月1日
还是在爬取“房多多” 时遇到问题,这次是根据标签爬取值时遇到困难。
链接:http://esf.fangdd.com/shenzhen/xiaoqu_23430.html
先看看我要爬取的元素的样子吧:
<li class="content--li"><span class="li--title"><span class="word-space-2">产</span>权 :</span> 70年</li>
我要根据“产权 :”这个标签获取它的值“70年”。
下面来看看错误示例:
//span[text()="产权 :"]/../text()
这样不会匹配到任何结果。正确示例如下:
//span[string()="产权 :"]/../text()
在这个示例中,string是关键。