实验要求: 目标网址:https://jj.fang.anjuke.com/ 栏目为新房 数据字段:序号、小区名称、标签、价格、开盘日期、交房日期、户型、地址、图片网址、VR看房网址(若无则标记为“暂无”即可) python爬取代码
时间: 2024-12-04 19:29:49 浏览: 21
在Python中爬取指定网页的数据通常需要使用一些网络请求库如requests和HTML解析库如BeautifulSoup或lxml。以下是一个基本的示例,展示了如何使用这些工具来获取您提供的目标网址(https://jj.fang.anjuke.com/ 新房栏目)的部分信息,包括小区名称、价格等字段:
```python
import requests
from bs4 import BeautifulSoup
# 目标URL
url = "https://jj.fang.anjuke.com/"
# 如果有特定的查询条件(比如新房),在这里添加
params = {"type": "新房"} # 这里假设"新房"可以用某种方式传递到URL中
response = requests.get(url, params=params)
# 检查请求是否成功
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'lxml') # 解析HTML内容
# 为了简化问题,我们只提取部分字段,实际可能需要更复杂的CSS选择器
data = []
for item in soup.find_all('div', class_='item'): # 假设每个房产信息在一个class为'item'的div内
try:
name = item.find('h3', class_='title').text.strip() # 小区名称
price = item.find('span', class_='price').text.strip() # 价格
# 其他字段的查找类似...
# ...例如:
date_opening = item.find('p', class_='date_open').text if item.find('p', class_='date_open') else '暂无'
# 更多字段可以按此结构添加
data.append({
"小区名称": name,
"价格": price,
"开盘日期": date_opening,
# 添加其他字段的键值对...
})
except AttributeError as e:
print(f"无法解析信息:{e}")
# 打印或保存数据
for d in data:
print(d)
else:
print("请求失败:", response.status_code)
阅读全文