爬取链家数据(城市、价格、时间)1

本文介绍如何通过Python爬取链家网站上的城市、房价和时间等信息,并将数据保存到CSV文件中。
摘要由CSDN通过智能技术生成

1、提取链家信息(城市、价格、时间)

'''测试通过'''
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import io

def get_city_list():
    city_list = {}
    city_from_url = 'https://m.lianjia.com/city/'
    mhtml = requests.get(city_from_url)
    print mhtml
    print mhtml.content
    mobj = BeautifulSoup(mhtml.content,'lxml')
    city_block = mobj.body.section.find_all('div',{'class':'block city_block'})
    for cb in city_block:
        for cba in cb.find_all('a'):
            city_list[cba.get('href')] = cba.get_text()
    return city_list

if __name__ == '__main__':
    cityd = get_city_list()
    f = io.open('houing_price_bycity.csv','w',encoding = 'utf-8')
    for citycode,city in cityd.items():
        url = 'https://{}.lianjia.com/fangjia/priceMap/'.format(citycode[1:-1])
        try:
            r = requests.get(url)
            if r.status_code == 200:
                res = r.json()
            else:
                continue
        except:
            continue
        for k,v in res.items():
            if isinstance(v,(int,float)):
                pass
            else:
                cont = ','.join([city,v['name'],str(v['transPrice']),datetime.now().strftime("%Y-%m-%d %H:%M:%S")])
                cont = cont + '\n'
                f.write(cont)
    f.close()

代码结果:csv文件

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值