以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

小猪短租如何联系房东,分析小猪短租的商业模式答案

  

  小猪短租是一个有很多民宿优质租房信息的租房网站。让我们以成都的租房信息为例,尝试抓取这些数据。   

  

     

  

  1.抓取租赁标题。   

  

  按照惯例,先顺着标题往下爬试试水,找到标题,复制xpath。   

  

     

  

  复制几个房子的标题xpath进行比较:   

  

  //*[@ id=' page _ list ']/ul/Li[1]/div[2]/div/a/span//*[@ id=' page _ list ']/ul/Li[2]/div[2]/div/a/span/*[@ id=' page _ list ']/ul/Li[3]/div[2]/div/a/span   

  

  瞬间发现标题的xpath只在最后一个序号发生了变化,所以爬行整个页面标题的xpath是用秒写的:   

  

  //*[@ id=" page _ list "]/ul/Li/div[2]/div/a/span   

  

  还是一个固定的套路,让我们试着爬下整个:页的标题。   

  

     

  

  _ Piggy在IP限制上比较严格,所以需要在代码中加入sleep()函数来控制抓取频率_   

  

  好,让我们再次比较xpath信息:   

  

     

  

  跟着标题的标签,找到全屋信息标签。xpath比较如下:   

  

  //* [@ id="page _ list"]/ul/Li #整体//*[@ id=" page _ list "]/ul/Li/div[2]/div/a/span #标题。   

  

  您应该知道如何更改代码,编写一个循环:   

  

  file=s . XPath('//*[@ id=" page _ list "]/ul/Li ')用于file:中的title=div.xpath('。/div[2]/div/a/span/text()')[0]   

  

  好吧,让我们运行它并尝试:   

  

     

  

  2.抓取多个元素的信息。   

  

  比较其他元素的xpath:   

  

  //* [@ id="page _ list"]/ul/Li #整体//*[@ id=" page _ list "]/ul/Li/div[2]/div/a/span # title//*[@ id=" page _ list "]/。Li/div[2]/div/em # Description/*[@ ID=" page _ list "]/ul/Li/a/img #图片。   

  

  然后,您可以编写代码:   

  

  file=s . XPath("//*[@ id=" page _ list "]/ul/Li ")用于file: title=div.xpath(")中的div。/div[2]/div/a/span/text()"[0]price=div . XPath(")。/div[2]/span[1]/I/text()"[0]scrible=div . XPath(")。/div[2]/div/em/text()"[0]。strip() pic=div.xpath(")。/a/img/@lazy_src")[0]   

  

  尝试运行它:   

  

     

  

  3.翻页,多爬几页。   

  

  看翻页时网址的变化:   

  

  网页链接第1页网页链接第2页网页链接第3页网页链接第4页。   

  

  url变化的规律很简单,除了P后面的数字不一样,序号和页码完全一样,很好处理……写一个简单的循环遍历所有的URL。   

  

  对于范围为(1,6) :的网址=“网页链接{}-0/”。格式(a) #我们这里尝试5页,你可以根据自己的需要写抓取的页数。   

  

  完整的代码如下:   

  

  范围(1,6): URL=“Web链接{}-0/”的来自lxml import etreeimport request import time。格式(a)数据=请求。text s=etree.html(数据)文件=s . XPath('//*[@ ID=' page _ list ']/ul/Li '。对于文件:中的div,title=div.xpath('。/div[2]/div/a/span/text()')[0]price=div . XPath('。/div[2]/span[1]/I/text()')[0]scrible=div . XPath('。/div[2]/div/em/text()')[0]。strip() pic=div.xpath('。/a/img/@lazy_src')[0]打印(' {} {} {}\n '。格式(标题、价格、价格、图片)   

  

  看爬5页的效果:   

  

     

  

  相信你已经掌握了爬行动物的基本套路,但还需要不断熟悉它们,直到能够独立编写代码。   

  

  编写代码需要耐心和细心。很多人从入门到放弃,不是因为编程有多难,而是因为在某次练习中遇到了一个小问题。   

  

  好了,这次分享到此结束!