爬取链家-滨江的租房数据

最近学以致用,使用python3的requests package 爬取 链家-滨江


在爬取过程中基本没有遇到什么坑,可能链家的反爬机制就没有吧

主要流程分成 两步:

第一步是 获取当前页面的内容

第二步是 生成规则的url,用户分页爬取



import requests
import json
import re

from lxml import etree

header={
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection': 'keep-alive',
'Host': 'hz.lianjia.com',
'Referer': 'https://hz.lianjia.com/zufang/rs%E6%BB%A8%E6%B1%9F/',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
}

response=requests.get('https://hz.lianjia.com/zufang/binjiang/rs%E6%BB%A8%E6%B1%9F/',headers=header)

i=1

tree = etree.HTML(response.text)
nodes=tree.xpath('//div[@class="content__list"]/div[@class="content__list--item"]')
'''
https://hz.lianjia.com/zufang/binjiang/pg3rs%E6%BB%A8%E6%B1%9F/#contentList
https://hz.lianjia.com/zufang/binjiang/pg100rs%E6%BB%A8%E6%B1%9F/#contentList
https://hz.lianjia.com/zufang/binjiang/pg100rs%E6%BB%A8%E6%B1%9F/#contentList

'''
print(tree.xpath('//div[@class="content__pg"]'))
pg=tree.xpath('//div[@class="content__pg"]')[0]
print(pg.attrib)
total_page=int(pg.attrib['data-totalpage'])
for index in range(1,101):
    url='https://hz.lianjia.com/zufang/binjiang/pg{}rs%E6%BB%A8%E6%B1%9F/#contentList'.format(index)
    print(url)

    tree = etree.HTML(response.text)
    nodes=tree.xpath('//div[@class="content__list"]/div[@class="content__list--item"]')

    for node in nodes:

        name=node.xpath('./div[@class="content__list--item--main"]/p[1]/a/text()')[0].strip()
        tags=node.xpath('./div[@class="content__list--item--main"]/p[2]/child::node()')
        list1=[]
        for tag in tags:  
            if isinstance(tag,str):
                data=str(tag).strip()
                if len(data)>0:
                    list1.append(data)
            elif tag.attrib.has_key('class') and tag.attrib['class']=='hide':
                list1.append('隐藏内容:')
                for t in tag.xpath('./child::node()'):
                    if isinstance(t,str):
                        data=str(t).strip()
                        if len(data)>0:
                            list1.append(data)
            else:
                list1.append(str(tag.text).strip())
        brand          =node.xpath('./div[@class="content__list--item--main"]/p[3]/text()')[0].strip()
        item_time      =node.xpath('./div[@class="content__list--item--main"]/p[4]/text()')[0].strip()
        item_bottem    =",".join(node.xpath('./div[@class="content__list--item--main"]/p[5]/i/text()'))
        item_price     =node.xpath('./div[@class="content__list--item--main"]/span[@class="content__list--item-price"]/em/text()')[0]
        item_price_unit=node.xpath('./div[@class="content__list--item--main"]/span[@class="content__list--item-price"]/text()')[0].strip()
        print(i,name," ".join(list1),brand,item_time,item_bottem,item_price+item_price_unit)
        i+=1
当前第几页
[<Element div at 0x106b797c8>]
{'class': 'content__pg', 'data-el': 'page_navigation', 'data-url': '/zufang/binjiang/pg{page}rs%E6%BB%A8%E6%B1%9F/', 'data-totalpage': '100', 'data-curpage': '1'}
https://hz.lianjia.com/zufang/binjiang/pg1rs%E6%BB%A8%E6%B1%9F/#contentList
1 魔方公寓 杭州滨康路店 一居室(宽敞大窗型) 仅剩3间 / 25㎡ / 北 / 1室1厅1卫 魔方公寓 4天前发布 独栋公寓,月租,拎包入住,近地铁,押一付一,新上 2850元/月
2 中赢康康谷 2室2厅 5700元 滨江 - 滨江区政府 / 41㎡ / 西 / 2室2厅2卫 隐藏内容: 高楼层                                            (18层) 链家 22天前发布 近地铁,随时看房 5700元/月
3 整租 · 金铂湾 1居室 4199 滨江 - 滨江区政府 / 50㎡ / 南 / 1室1厅1卫 隐藏内容: 中楼层                                            (24层) 门店优选 18天前发布 近地铁,精装,随时看房 4199元/月
4 合租 · 温馨人家 4室1厅 滨江 - 滨江区政府 / 16㎡ / 南 / 4室1厅2卫 隐藏内容: 低楼层                                            (6层) 自如 6天前发布 公寓,独立卫生间,近地铁,押一付一,新上,随时看房 3090元/月
5 合租 · 滨康二苑 6室1厅 滨江 - 长河 / 17㎡ / 南 / 6室1厅3卫 隐藏内容: 高楼层                                            (6层) 自如 6天前发布 公寓,独立卫生间,押一付一,新上,随时看房 2590元/月
6 合租 · 湖漫雅筑 4室1厅 滨江 - 白马湖 / 15㎡ / 南 / 4室1厅2卫 隐藏内容: 中楼层                                            (11层) 自如 5天前发布 公寓,独立卫生间,押一付一,新上,随时看房 2590元/月
7 合租 · 江南豪园 5室1厅 滨江 - 滨江区政府 / 19㎡ / 南 / 5室1厅2卫 隐藏内容: 低楼层                                            (29层) 自如 5天前发布 公寓,独立卫生间,近地铁,押一付一,新上,随时看房 3060元/月
8 合租 · 观邸国际 4室1厅 滨江 - 浦沿 / 15㎡ / 南 / 4室1厅2卫 隐藏内容: 中楼层                                            (32层) 自如 5天前发布 公寓,独立卫生间,押一付一,新上,随时看房 2790元/月
9 合租 · 锦绣江南 4室1厅 滨江 - 长河 / 23㎡ / 南 / 4室1厅2卫 隐藏内容: 中楼层                                            (18层) 自如 5天前发布 公寓,独立卫生间,押一付一,新上,随时看房 3060元/月
10 金铂湾 1室1厅 6000元 滨江 - 滨江区政府 / 90㎡ / 南 / 1室1厅1卫 隐藏内容: 低楼层                                            (24层) 链家 18天前发布 近地铁 6000元/月
11 整租 · 自住装修,三开间朝南 滨江 - 浦沿 / 89㎡ / 南 / 2室1厅1卫 隐藏内容: 低楼层                                            (26层) 链家 9天前发布 近地铁,精装,随时看房 5300元/月
12 合租 · 寰宇天下 3室1厅 滨江 - 滨江区政府 / 14㎡ / 南 / 3室1厅2卫 隐藏内容: 低楼层                                            (33层) 自如 4天前发布 公寓,独立卫生间,近地铁,押一付一,新上,随时看房 3230元/月
13 合租 · 长江西苑 7室1厅 滨江 - 长河 / 18㎡ / 南 / 7室1厅4卫 隐藏内容: 高楼层                                            (7层) 自如 4天前发布 公寓,独立卫生间,押一付一,新上,随时看房 2560元/月
14 整租 · 彩虹豪庭  大四房  一线江景 滨江 - 彩虹城 / 243㎡ / 南 北 / 4室2厅3卫 隐藏内容: 低楼层                                            (31层) 链家 今天发布 近地铁,精装,新上 24000元/月
15 整租 · 钱塘江边精装公寓 一室一厅 大面积户型 滨江 - 滨江区政府 / 63㎡ / 南 / 1室1厅1卫 隐藏内容: 高楼层                                            (24层) 链家 1个月前发布 近地铁,精装 4800元/月
16 合租 · 彩虹城 5室1厅 滨江 - 彩虹城 / 17㎡ / 南 / 5室1厅2卫 隐藏内容: 低楼层                                            (12层) 自如 3天前发布 公寓,独立卫生间,近地铁,押一付一,新上,随时看房 2830元/月
17 荣安望江南 2室1厅 6500元 滨江 - 滨江区政府 / 88㎡ / 南 / 2室1厅1卫 隐藏内容: 低楼层                                            (26层) 链家 13天前发布 近地铁,随时看房 6500元/月
18 荣安望江南 2室2厅 8000元 滨江 - 滨江区政府 / 87㎡ / 南 / 2室2厅1卫 隐藏内容: 高楼层                                            (25层) 链家 1个月前发布 近地铁 8000元/月
19 整租 · 龙湖春江郦城 3居室 6970 滨江 - 滨江区政府 / 88㎡ / 西南 / 3室1厅1卫 隐藏内容: 中楼层                                            (34层) 门店优选 2个月前发布 随时看房 6970元/月
20 整租 · 江滨澜廷 1居室 6300 滨江 - 滨江区政府 / 56㎡ / 东 / 1室1厅1卫 隐藏内容: 高楼层                                            (24层) 门店优选 1个月前发布 近地铁,精装,随时看房 6300元/月
21 整租 · 玲珑府 3居室 5500 滨江 - 西兴 / 49㎡ / 南 / 3室2厅2卫 隐藏内容: 低楼层                                            (21层) 门店优选 1个月前发布 近地铁,精装,双卫生间,随时看房 5500元/月
。。。。。。。
2998 整租 · 彩虹豪庭 精装温馨小三室 高档小区 拎包入住 滨江 - 彩虹城 / 90㎡ / 南 / 3室1厅1卫 隐藏内容: 低楼层                                            (31层) 链家 23天前发布 近地铁,精装 9800元/月
2999 整租 · 汉峰峰公馆 1居室 5500 LOFT 滨江 - 滨江区政府 / 51㎡ / 北 / 1室1厅1卫 隐藏内容: 中楼层                                            (22层) 门店优选 3个月前发布 精装,随时看房 5500元/月
3000 整租 · 彩虹城 3室2厅 8500元 滨江 - 彩虹城 / 151㎡ / 南 北 / 3室2厅2卫 隐藏内容: 高楼层                                            (6层) 链家 8天前发布 近地铁,精装,双卫生间 8500元/月

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值