网站设计如何收费标准,小程序开发工具有哪些,网站建设需要收集资料吗,做旅游宣传哪个网站好文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序#xff0c;查看结果 4. 实战小结 1. 实战概述
本次实战项目旨在通过编写Python爬虫程序#xff0c;抓取深圳Q房网上的二手房房源信息。我们将分析网页结构#xff0c;… 文章目录 1. 实战概述2. 网站页面分析3. 编写代码爬取Q房二手房房源信息3.1 创建项目与程序3.2 运行程序查看结果 4. 实战小结 1. 实战概述
本次实战项目旨在通过编写Python爬虫程序抓取深圳Q房网上的二手房房源信息。我们将分析网页结构确定房源信息的XPath路径并实现数据的提取与CSV文件存储。通过本项目学习如何运用requests库发送HTTP请求使用lxml.etree解析HTML以及如何高效地处理和存储爬取的数据。
2. 网站页面分析
第1页房源 - https://shenzhen.qfang.com/sale/f1 第2页房源 - https://shenzhen.qfang.com/sale/f2 发现URL构造规律https://shenzhen.qfang.com/sale/f 页码查看房源列表源码 针对第一个li拷贝其XPath//*[idcycleListings]/ul/li[1]去掉[1]根据//*[idcycleListings]/ul/li获取房源列表针对每一个房源要爬取的信息用红框标注
3. 编写代码爬取Q房二手房房源信息
3.1 创建项目与程序
创建Q房网爬虫实例项目在里面创建QHouseCrawler.py程序
from lxml import etree # 导入lxml解析库
import requests # 导入HTTP请求库用于发送网络请求
import csv # 导入CSV库用于读写CSV文件
import time # 导入时间库用于在请求间添加延迟# 定义爬虫主函数
def spider():# 定义爬虫头部信息模拟浏览器访问headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36}url_prefix https://shenzhen.qfang.com/sale/f # 定义基础URL前缀for page in range(1, 11): # 遍历所有页面从第1页到第10页url url_prefix str(page) # 构建完整URLhtml requests.get(url, headersheaders) # 发送HTTP GET请求time.sleep(2) # 等待2秒避免请求过于频繁selector etree.HTML(html.text) # 解析HTML内容house_list selector.xpath(//*[idcycleListings]/ul/li) # 使用XPath定位所有房屋信息for house in house_list: # 遍历每个房屋信息apartment house.xpath(div[2]/div[1]/a/text())[0] # 提取公寓名称house_layout house.xpath(div[2]/div[2]/p[1]/text())[0] # 提取房屋布局area house.xpath(div[2]/div[2]/p[2]/text())[0] # 提取面积region house.xpath(div[2]/div[4]/text())[0] # 提取地区item [apartment, house_layout, area, region] # 构建数据项列表cleaned_item [i.replace(\r, ).replace(\n, ).replace( , ) for i in item] # 清理数据中的换行符和多余空格data_writer(cleaned_item) # 写入CSV文件print(正在抓取……, cleaned_item) # 打印当前抓取的数据项# 将数据写入CSV文件的函数
def data_writer(item):with open(Q房-二手房.csv, a, # 打开CSV文件a模式表示追加写入encodingutf-8, newline) as csvfile: # 设置文件编码为utf-8避免中文乱码writer csv.writer(csvfile) # 创建CSV写入器writer.writerow(item) # 写入一行数据if __name__ __main__: # 如果直接运行此脚本spider() # 调用爬虫函数3.2 运行程序查看结果
查看控制台输出 查看生成的结果文件
4. 实战小结
在本次实战中我们成功地分析了深圳Q房网二手房页面的结构掌握了房源信息的XPath定位方法。通过编写Python爬虫脚本我们实现了从网页动态加载的房源列表中提取关键信息并将数据存储至CSV文件。在实践过程中我们遇到了XPath表达式的优化和数据清洗的问题但通过不断调试和改进最终达到了预期效果。此项目不仅提升了我们的爬虫编写技能也加深了对网页结构和数据提取流程的理解为今后处理更复杂的数据抓取任务打下了坚实基础。