Python爬取链家北京租房房价|保存为csv格式文件

其实这是一个半途而废的“作品”(捂脸)
我的想法是:首先,我把链家上北京房价爬取下来保存为表格,每行有编号、小区和价格三个属性,然后通过百度地图API获得小区的经纬度,最后绘制热力图,康康红色的区域(房价最高位置)到绿色区域颜色过渡的分布,即房价分布吧,这个步骤是参考的[Python调用百度地图]。(https://blog.csdn.net/xxzj_zz2017/article/details/79396980)
但是,我只做了第一步,把链家房价数据爬取下来了,好吧,我还申请了一个百度地图的账号,所以为啥我不继续做下去嘞?因为,没动力了,不想做了,后面好麻烦啊,我老友记还没看完,我的人鱼线还没练出来,亲爱的热爱的韩商言好帅啊(我从法医秦明第一部就是张若昀演秦明那里就开始关注李现了,当时他有穿一件军绿色外套好看极了,然后看了他跟张若昀演的电影奇葩朵朵,挺颠覆形象的,还有电影睡在我上铺的兄弟,挺感人的,所以我在说些什么狗屁玩意,抱歉,来,继续说李现,不不不,这个代码,哈哈)
链家的网页是html类型的,跟bilibili一样,我之前写了个爬取b站排名靠前vlog的主题,所以这次代码有参考当时的,因为import urllib/BeautifulSoup/re库都是一样的。不过这次找内容有点麻烦,就是关键词的截取,不过最后写出来了(哎呦,不错哦)。直接康代码了,不解释。
代码

import urllib
import time
import re
from bs4 import BeautifulSoup as bs
import csv

#获得房价
def get_price():
    base_url="https://bj.lianjia.com/zufang/"#第一页
    for page in range(2,5):#后几页
        url=base_url+"/pg"+str(page)+"/"
        html=urllib.request.urlopen(url).read()
    soup=bs(html,'html.parser',from_encoding="utf-8")
    f=open("D://cs//python//summer//house_price.csv",'a',newline='')#打开文件
    csv_writer=csv.writer(f,dialect='excel')#设置写入模式
    i=0#编号
    try:
        for each in soup.find_all('div',{"class":"content__list--item--main"}):
            title=each.find('a').get_text()#获得小区位置
            title=title.lstrip()#去除左边空格
            print(title)
            if '·' in title:
                xiaoqu=re.findall(r'·(.*?) ', title)[0]
            else:
                xiaoqu=title.split()[0]
            print(xiaoqu)
            p=each.find('span',{"class":"content__list--item-price"})
            price=p.find('em').get_text()#获得房价
            print(price)
            hp=[i,xiaoqu,price]#一行信息
            csv_writer.writerow(hp)#写入一行
            i+=1
            time.sleep(0.5)
    except:
        print("error")

get_price()

Python爬取链家北京租房房价|保存为csv格式文件_第1张图片
之后发挥一下高超的excel才能把数据整理一下,做个透视表啊啥的挺好的。或者完成热力图吧,我是let it go了,别学我哈。其实这篇就算水水了,打个卡8.

你可能感兴趣的:(Python爬取链家北京租房房价|保存为csv格式文件)