使用python爬取Q房租房网站的内容(网址https://foshan.qfang.com/rent),解析网页,获取所有房源信息,包括标题、户型、面积、装修、楼层、出租方式、租金和小区信息,并将爬取到的房源信息保存到CSV文件中
时间: 2024-11-12 21:33:59 浏览: 49
使用Python爬取Q房租房网站并提取房源信息需要一些步骤,通常我们会使用`requests`库来发送HTTP请求,然后使用`BeautifulSoup`或`lxml`来解析HTML内容。这里是一个简化的示例,展示了如何完成这个任务:
首先,安装必要的库:
```bash
pip install requests beautifulsoup4 pandas
```
接下来,编写Python代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd
# 网页URL
url = "https://foshan.qfang.com/rent"
def parse_html(url):
# 发送GET请求
response = requests.get(url)
# 检查响应状态码
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'lxml')
# 提取房源信息元素(这可能会根据实际页面结构有所不同)
listings = soup.find_all('div', class_='list-item') # 可能的class名
data = []
for listing in listings:
title = listing.find('h3', class_='title').text.strip() # 标题
room_type = listing.find('span', class_='room-type').text.strip() # 户型
area = listing.find('span', class_='area').text.strip() # 面积
decoration = listing.find('p', class_='decoration').text.strip() # 装修
floor = listing.find('p', class_='floor').text.strip().split('-')[0] if '层' in listing.find('p', class_='floor').text else None # 楼层
rent_info = listing.find('i', class_='rent').text.strip() # 租金
community = listing.find('p', class_='community').text.strip() # 小区
data.append([title, room_type, area, decoration, floor, rent_info, community])
return data
def save_to_csv(data, filename):
df = pd.DataFrame(data, columns=['标题', '户型', '面积', '装修', '楼层', '租金', '小区'])
df.to_csv(filename, index=False)
# 获取数据
data = parse_html(url)
# 保存到CSV文件
save_to_csv(data, '房源信息.csv')
print("数据已成功保存至CSV文件。")
阅读全文