温馨提示×

温馨提示×

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

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

python如何爬取Q房网数据

发布时间:2022-01-14 15:23:15 来源:亿速云 阅读:404 作者:小新 栏目:大数据

这篇文章主要介绍了python如何爬取Q房网数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

本次目标

爬取Q房网数据

https://shenzhen.qfang.com/newhouse

爬取目标数据:

  • 小区名字

  • 售房状态

  • 房屋面积

  • 户型

  • 开盘时间

  • 交房时间

  • 楼盘地址

  • 售价

  • 预计总价

python如何爬取Q房网数据

emmmm,我看看就行了,买不起买不起

开发工具

  • python 3.6.5

  • pycharm

爬虫代码

导入工具

import requests import parsel import csv

解析网页,爬取数据

for page in range(1, 84):     print('===============================正在爬取第{}页的数据================================================='.format(page))     url = 'https://shenzhen.qfang.com/newhouse/list/n{}'.format(page)     headers = {         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'     }     response = requests.get(url=url, headers=headers)     selector = parsel.Selector(response.text)     lis = selector.css('.list-result li')     dit = {}     for li in lis:         title = li.css('.list-main-header a em::text').get()  # 名字         dit['标题'] = title         status = li.css('.list-main-header i::text').get()     # 是否在售         dit['房产状态'] = status         space = li.css('.list-main div:nth-child(1) .space span::text').get()     # 售房面积         dit['售房面积'] = space         type_list = li.css('.list-main.fl p:nth-child(3) span a::text').getall()     # 户型         type_str = '|'.join(type_list).strip().replace('\r\n', '').replace(' ', '')  # 户型         dit['户型'] = type_str         kp_time = li.css('.new-house-info > div:nth-child(2) > p.space.fl.clearfix > span::text').get()  # 开盘时间         dit['开盘时间'] = kp_time         cs_time = li.css('.new-house-info > div:nth-child(2) > p:nth-child(3)> span::text').get()  # 出售时间         dit['出售时间'] = cs_time         address = li.css('.list-main a:nth-child(3)::text').get()  # 地址         if not address == None:             address = address.strip()         else:             address = None         dit['地址'] = address         Price = li.css('.list-price .bigger .amount::text').get()  # 售价         dit['售价'] = Price         hj_Price = li.css('.list-price .smaller::text').get()   # 预计总价         dit['预计总价'] = hj_Price

保存数据

f = open('房产数据.csv', mode='a', encoding='utf-8-sig', newline='') csv_writer = csv.DictWriter(f, fieldnames=['标题', '房产状态', '售房面积', '户型', '开盘时间', '出售时间', '地址', '售价', '预计总价']) csv_writer.writeheader() print(dit)

运行代码,效果如下图

python如何爬取Q房网数据

感谢你能够认真阅读完这篇文章,希望小编分享的“python如何爬取Q房网数据”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

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

AI