写一个用python模块化爬虫安居家二手房列表且存储到excel中
时间: 2024-04-01 18:32:59 浏览: 87
好的,以下是一个用 Python 模块化爬取安居客二手房列表并存储到 Excel 中的示例代码,你可以参考一下:
首先,我们需要创建一个名为 `anjuke_spider.py` 的模块,其中包含爬虫和数据存储的函数:
```python
import requests
from bs4 import BeautifulSoup
import xlwt
def get_house_data():
# 构造请求头部信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 发送请求获取网页内容
url = 'https://xa.anjuke.com/sale/'
response = requests.get(url, headers=headers)
html = response.text
# 解析网页内容
soup = BeautifulSoup(html, 'html.parser')
house_list = soup.find_all('li', class_='list-item')
# 存储二手房数据
house_data = []
for house in house_list:
title = house.find('div', class_='house-title').a.text.strip()
price = house.find('span', class_='price-det').text.strip()
area = house.find('div', class_='details-item').span.text.strip()
address = house.find('span', class_='comm-address').text.strip()
house_data.append([title, price, area, address])
return house_data
def save_to_excel(data):
# 创建 workbook 和 sheet
workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('安居客二手房')
# 写入表头
sheet.write(0, 0, '标题')
sheet.write(0, 1, '价格')
sheet.write(0, 2, '面积')
sheet.write(0, 3, '地址')
# 写入数据
row = 1
for house in data:
sheet.write(row, 0, house[0])
sheet.write(row, 1, house[1])
sheet.write(row, 2, house[2])
sheet.write(row, 3, house[3])
row += 1
# 保存 Excel 文件
workbook.save('anjuke.xls')
```
接下来,我们可以在主程序中调用这两个函数,获取二手房数据并存储到 Excel 文件中:
```python
from anjuke_spider import get_house_data, save_to_excel
# 获取二手房数据
house_data = get_house_data()
# 存储数据到 Excel 文件
save_to_excel(house_data)
```
以上代码将会爬取安居客西安二手房列表的标题、价格、面积和地址等信息,并存储到一个名为 `anjuke.xls` 的 Excel 文件中。你可以根据自己的需求进行扩展和修改。值得注意的是,爬虫行为需要遵守相关法律法规和网站规定,不得用于非法用途。
阅读全文