爬取安居客二手房楼盘、地址、单价、总价、户型、面积、建造年代。 url:https://chongqing.anjuke.com/sale/利用scrapy创建项目并包含学xpath选择器 将爬取数据放入csv中
时间: 2024-01-11 12:03:06 浏览: 165
好的,以下是爬取安居客二手房数据的代码:
首先,在命令行中使用`scrapy startproject anjuke`创建一个新的项目。
在`anjuke/spiders`目录下创建`anjuke_spider.py`文件,写入以下代码:
```python
import scrapy
class AnjukeSpider(scrapy.Spider):
name = "anjuke"
start_urls = [
'https://chongqing.anjuke.com/sale/'
]
def parse(self, response):
for href in response.xpath('//div[@class="property-content-title"]/a/@href'):
yield response.follow(href, self.parse_property)
next_page = response.xpath('//a[@class="aNxt"]/@href')
if next_page:
yield response.follow(next_page[0], self.parse)
def parse_property(self, response):
yield {
'楼盘': response.xpath('//h1/text()').get(),
'地址': response.xpath('//address/text()').get(),
'单价': response.xpath('//th[contains(text(), "单价")]/following-sibling::td/text()').get(),
'总价': response.xpath('//th[contains(text(), "总价")]/following-sibling::td/text()').get(),
'户型': response.xpath('//th[contains(text(), "户型")]/following-sibling::td/text()').get(),
'面积': response.xpath('//th[contains(text(), "面积")]/following-sibling::td/text()').get(),
'建造年代': response.xpath('//th[contains(text(), "建造年代")]/following-sibling::td/text()').get(),
}
```
代码中,我们定义了一个名为`AnjukeSpider`的Spider类,它会爬取`https://chongqing.anjuke.com/sale/`页面上的二手房信息,包括楼盘、地址、单价、总价、户型、面积、建造年代。
在`parse`方法中,我们使用XPath选择器找到所有房源链接,并使用`response.follow`方法进行跟进。同时,我们也找到下一页的链接并跟进。
在`parse_property`方法中,我们使用XPath选择器找到房源页面的各种信息,并使用`yield`关键字将这些信息返回。
最后,在命令行中进入项目根目录,运行以下命令启动爬虫:
```
scrapy crawl anjuke -o anjuke.csv
```
这个命令会将爬取到的数据保存到`anjuke.csv`文件中。
阅读全文