利用scrapy爬取网站为https://cq.58.com/ershoufang/的重庆挂牌出售的全部二手房信息信息。爬取信息包括卖点、楼盘、楼盘地址、房屋户型、楼层、建筑年代、每平单价、房屋总价。
时间: 2024-01-19 21:02:36 浏览: 92
好的,以下是一个使用Scrapy爬取https://cq.58.com/ershoufang/网站的示例代码,包括卖点、楼盘、楼盘地址、房屋户型、楼层、建筑年代、每平单价、房屋总价等信息。
首先,创建一个Scrapy项目:
```
scrapy startproject chongqing58
```
然后,在spiders文件夹中创建一个新的Spider:
```
cd chongqing58
scrapy genspider ershoufang cq.58.com/ershoufang/
```
接下来,将Spider代码替换为以下示例代码:
```python
import scrapy
class ErshoufangSpider(scrapy.Spider):
name = 'ershoufang'
allowed_domains = ['cq.58.com']
start_urls = ['https://cq.58.com/ershoufang/']
def parse(self, response):
house_list = response.xpath('//div[@class="property-content-title"]')
for house in house_list:
item = {}
# 获取卖点
item['sell_point'] = house.xpath('./span[@class="property-content-title-text"]/text()').get().strip()
# 获取楼盘名称、地址
item['estate'] = house.xpath('./a[@class="property-content-title-link"]/text()').get().strip()
item['address'] = house.xpath('./p[@class="property-content-excerpt"]/text()').get().strip()
# 获取房屋户型、楼层、建筑年代
item['house_info'] = house.xpath('./div[@class="property-content-room"]/text()').get().strip()
item['floor'] = house.xpath('./div[@class="property-content-floor"]/text()').get().strip()
item['year'] = house.xpath('./div[@class="property-content-year"]/text()').get().strip()
# 获取每平单价、房屋总价
item['price'] = house.xpath('./div[@class="property-content-price"]/text()').get().strip()
item['total_price'] = house.xpath('./div[@class="property-content-total"]/text()').get().strip()
yield item
# 获取下一页的链接
next_page_url = response.xpath('//a[@class="next"]/@href')
if next_page_url:
yield scrapy.Request(next_page_url.get(), callback=self.parse)
```
这段代码会输出每个二手房的卖点、楼盘名称、地址、房屋户型、楼层、建筑年代、每平单价和房屋总价。您可以根据需要对这些信息进行存储和处理。
最后,运行Spider:
```
scrapy crawl ershoufang
```
Spider会自动爬取所有页面,并将结果输出到控制台。如果您希望将结果保存到文件中,可以使用以下命令:
```
scrapy crawl ershoufang -o result.json
```
这将把结果保存到result.json文件中。
阅读全文