如何用python的requests库爬取房天下的数据,并请其爬取到的数据存放在.csv文件夹中,要求爬取20页上海二手房房价数据和新房房价数据
时间: 2023-09-19 10:10:57 浏览: 113
好的,可以使用Python的requests库和BeautifulSoup库来实现。以下是代码示例:
```python
import requests
import csv
from bs4 import BeautifulSoup
# 定义请求头,模拟浏览器的请求
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'}
# 定义要爬取的页面数量
page_num = 20
# 定义要爬取的城市和房源类型
city = 'sh'
house_type = ['esf', 'xf']
# 分别爬取二手房和新房的数据
for h_type in house_type:
data_list = []
for page in range(1, page_num+1):
# 构建URL
url = f'https://{city}.{h_type}.fang.com/house/i3{page}/'
# 发送请求
response = requests.get(url, headers=headers)
# 解析HTML
soup = BeautifulSoup(response.content, 'html.parser')
house_list = soup.select('.houseList .info')
# 提取数据
for house in house_list:
title = house.select('.title a')[0].text.strip()
price = house.select('.price .red')[0].text.strip()
data_list.append([title, price])
# 将数据写入CSV文件
with open(f'{city}_{h_type}.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(['标题', '价格'])
writer.writerows(data_list)
print(f'{city} {h_type} 数据已写入CSV文件')
```
以上代码会爬取上海二手房和新房的数据,每个类型爬取20页,将数据存储在.csv文件中,文件名格式为`城市_房源类型.csv`,例如`sh_esf.csv`和`sh_xf.csv`。
阅读全文