爬虫综合案例-获取房源信息并在地图上显示
由于原代码较长,以下仅提供核心函数的伪代码示例。
import requests
from bs4 import BeautifulSoup
import folium
# 获取房源详情
def get_house_details(house_url):
response = requests.get(house_url)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析房源详情,提取需要的信息
details = {
'title': soup.select_one('.house-title').text.strip(),
'price': soup.select_one('.house-price').text.strip(),
'location': soup.select_one('.house-location').text.strip(),
# 其他需要的信息...
}
return details
# 在地图上显示房源
def show_house_on_map(latitude, longitude, title, price):
# 初始化地图
map_osm = folium.Map(location=[latitude, longitude], zoom_start=15)
# 在地图上添加标记
folium.Marker([latitude, longitude], popup=f'{title} - {price}').add_to(map_osm)
# 保存并显示地图
map_osm.save('map.html')
# 打开生成的HTML文件
import webbrowser
webbrowser.open('map.html')
# 示例房源URL
house_url = 'http://example.com/house/123'
# 获取房源详情
house_details = get_house_details(house_url)
# 在地图上显示房源
show_house_on_map(
latitude=house_details['location'][0],
longitude=house_details['location'][1],
title=house_details['title'],
price=house_details['price']
)
这个示例提供了两个核心函数:get_house_details
用于获取房源详情,show_house_on_map
用于在地图上显示房源。示例中的URL应替换为实际的房源URL,并且解析方法应根据实际网站HTML结构进行调整。
评论已关闭