使用Python爬取58同城二手房数据
时间: 2023-10-09 13:12:32 浏览: 488
使用 Python 爬取 58 同城二手房数据的步骤如下:
1. 导入 requests 和 BeautifulSoup 库。
```python
import requests
from bs4 import BeautifulSoup
```
2. 设置请求头,模拟浏览器请求。
```python
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'}
```
3. 设置爬取的 URL,例如:
```python
url = 'https://bj.58.com/ershoufang/'
```
4. 发送请求,获取网页源代码。
```python
response = requests.get(url, headers=headers)
html = response.text
```
5. 使用 BeautifulSoup 解析网页源代码,提取需要的数据。
```python
soup = BeautifulSoup(html, 'html.parser')
house_list = soup.find('ul', class_='house-list-wrap').find_all('li')
for house in house_list:
title = house.find('div', class_='title').get_text().strip()
price = house.find('div', class_='price').find('p').get_text().strip()
area = house.find('div', class_='area').find('p').get_text().strip()
print(title, price, area)
```
6. 将数据保存到文件或数据库中。
```python
with open('output.txt', 'w', encoding='utf-8') as f:
for house in house_list:
title = house.find('div', class_='title').get_text().strip()
price = house.find('div', class_='price').find('p').get_text().strip()
area = house.find('div', class_='area').find('p').get_text().strip()
f.write(title + '\t' + price + '\t' + area + '\n')
```
需要注意的是,爬取 58 同城二手房数据需要遵守相关法律法规和 58 同城的规定,不得用于商业目的。
阅读全文