给我写一个爬取链家租房数据的爬虫
时间: 2024-04-22 22:27:10 浏览: 155
python爬取北京连家租房数据,可运行的python程序,打开你的爬虫之旅
5星 · 资源好评率100%
好的,以下是一个基于 Python 和 requests、Beautiful Soup 库的链家网站租房数据爬虫示例代码,供您参考:
```python
import requests
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 = 100
# 设置爬取的位置和房型
location = 'xihu'
room_type = '2号线'
# 构造URL
url = 'https://hz.lianjia.com/zufang/{}/pg{}/#contentList'.format(location, '{}')
# 存储爬取的数据
data_list = []
# 循环爬取每一页数据
for i in range(1, page_num + 1):
# 发送HTTP请求,获取页面源代码
response = requests.get(url.format(i), headers=headers)
html = response.text
# 解析HTML代码,提取租房信息
soup = BeautifulSoup(html, 'html.parser')
house_list = soup.find_all('div', class_='content__list--item')
for house in house_list:
# 提取租房信息
title = house.find('p', class_='content__list--item--title').text.strip()
price = house.find('span', class_='content__list--item-price').text.strip()
area = house.find('span', class_='content__list--item--des').text.split('/')[1].strip()
room = house.find('span', class_='content__list--item--des').text.split('/')[0].strip()
address = house.find('span', class_='content__list--item--des').text.split('/')[2].strip()
# 筛选指定位置和房型的租房信息
if location in address and room_type in address:
data_list.append({'title': title, 'price': price, 'area': area, 'room': room, 'address': address})
# 打印爬取结果
for data in data_list:
print(data)
```
以上代码仅供参考,具体爬虫实现还需要根据具体需求进行调整和优化。需要注意的是,任何未经授权的爬取行为都是违法的,并且可能会导致法律责任。在使用爬虫时,请遵循相关法律法规和网站的爬虫规则。
阅读全文