爬取居里新家

爬取居里新家
https://sh.julive.com/project/s这是上海居里新家的网址
现在打算爬取房子名称,房子名称,房子类型,房子面积,房子均价,房子总价
别的不多说,现在开始写代码吧
import requests from lxml import etree import pandas as pd
三个库requests获取请求,lxml解析网页,pandas保存数据
xpath的用法请看添加链接描述

url="https://sh.julive.com/project/s"
response = requests.get(url)#请求网页
html = etree.HTML(response.text)#获取网页源代码
data=[['房子','地区','房屋','面积','售价','总价']]
all_content = html.xpath("//div[@class='house-list']/div[@class='house-item main_click_total']")
for info in all_content
#获取房子名称的列表
	name_list=info.xpath("./div[@class='house-des']/div[@class='des-area']/div[@class='des-info']/h4[@class='title']/a[@class='name project-card-item']/text()")
	name="\n".join(name_list)
#获取房子地址的列表
	location_list=info.xpath("./div[@class='house-des']/div[@class='des-area']/div[@class='des-info']/div[@class='position project-card-position project-card-	item']/span[@class='position-des']/a/text()")
	location="\n".join(location_list)
#获取房子类型的列表
	housetype_list=info.xpath("./div[@class='house-des']/div[@class='des-area']/div[@class='des-info']/div[@class='house-type']/div/a/text()")
	housetype="\n".join(housetype_list)
#获取房子面积的列表
	area_list=info.xpath("./div[@class='house-des']/div[@class='des-area']/div[@class='des-info']/div[@class='house-type']/span/a/text()")
	area="\n".join(area_list)
#获取房子均价的列表	
	price_list=info.xpath("./div[@class='house-price']/div/div[@class='total-price ']/span[@class='number']/text()")
    	price="\n".join(price_list)
#获取房子总价的列表    	
    	totalprice_list=info.xpath("./div[@class='house-price']/div/div[@class='developer']/span[@class='number']/text()")
    	totalprice="\n".join(totalprice_list)
    house_info=[
            name,
            location,
            housetype,
            area,
            price,
            totalprice
        ]                    
        data.append(house_info)
pd.DataFrame(data).to_csv('D:\\house\\house.csv',index=None,header=None)
#"".join()就是把数组中的所有元素放入一个字符串  “”引号中可以任意写要对字符串的处理,比如“\n”换行 ,“     ”将字符串用空格隔开
#data=[['房子','地区','房屋','面积','售价','总价']]
 house_info=[
            name,
            location,
            housetype,
            area,
            price,
            totalprice
        ]                    
data.append(house_info)
pd.DataFrame(data).to_csv('D:\\house\\house.csv',index=None,header=None)
这是将数据保存至csv文件中

在这里插入图片描述

这就是爬下来的数据
当然这个代码还有很多缺点,比如现在只爬了一页,有些过长的数据会显示不全(以上的数据是我后来的代码运行保存的)
后续将更新代码,请大家继续关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值