温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python爬取北京租房信息

发布时间:2020-06-18 05:16:55 来源:网络 阅读:555 作者:思绪到处飞 栏目:开发技术

租房助手

发现官网的筛选方式不能满足自己的需求,所以爬取相关网站制作出现在的东西来

效果预览-> <a href="https://virzc.com/2018/05/17/beijingrent/#more" target="_blank">在线预览</a>

###下面进行详细分析
一.首先爬取起始地和终点地的路线及沿途地铁站名称

1.爬取8684.cn的地铁查询:

  pattern = 'http://bjdt.8684.cn/so.php?k=p2p&q={}&q1={}'
  • q->起始位置,q1为目标位置。返回的是html页面。

    2.采用scrapy进行xpath解析,提取相关的html标签和值
    <!--more-->

  • 如提取线路方案列表的xpath表达式
            Selector(text=body).xpath(
            "//div[@class='iContainer clear']/div[@class='iMain']/div[@class='transferMainShowWrap']/ul[@class='tms-mn tms-project']/li")
            .extract()

3.提取出线路方案列表后,针对列表中的每个元素进行提取站点的操作,可参考提取a标签,但剔除带有class属性的html值。

4.将所有的站点放到一个列表中,同时针对列表元素进行去重操作,记得记录路线描述和距离,可定义相关对象来维护。

二.通过站点查询租房信息

1.主要对自如官网进行爬取。

pattern=http://www.ziroom.com/z/nl/z2.html?qwd={}
  • qwd可能需要进行urlencode
  • 返回的是html页面,需要对页面进行分析,首先提取出总页数,然后根据总页数去请求其余页面。上面的url附加q参数,q参数为页面索引,即是单独页面链接

    2.针对单个页面提取各个单条项目的信息。
    如提取单个页面的信息列表

     ls = Selector(text=body).xpath("//ul[@id='houseList']/li").extract();
  • 针对列表进行单个处理,提取感兴趣的信息。

    3.处理封装返回。
    针对提取的信息,进行筛选,例如对价格进行筛选,对大小进行筛选,不用做排序。采用前端框架来进行排序。后台做的处理已经够多了。

三.接入到公众号中

可以接入到公众号中,提高公众号的影响力,具体的公众平台对接请参考<a href="https://github.com/zc1024/wxplatform/blob/master/weixin.py" target="_blank">访问github开源项目</a>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI