使用scrapy爬取某城市天气预报 编写爬虫项目,从https://www.tianqi.com网站爬取某城市(自选)的天气预报数据,并把爬取到的天气数据写入本地文本文件weather.txt。 提示: (1)安装Python扩展库scrapy,创建爬虫项目,将需要获取的字段名填写进去; (2)将爬取到的数据写入文件weather.txt;
时间: 2024-03-11 15:46:24 浏览: 402
这是一个简单的示例,演示如何使用Scrapy爬取某城市的天气预报数据并将其写入本地文本文件。以下是步骤:
1. 安装Scrapy库。可以在命令行中使用以下命令进行安装:
```
pip install scrapy
```
2. 创建Scrapy项目。在命令行中使用以下命令创建一个名为"weather"的Scrapy项目:
```
scrapy startproject weather
```
3. 在"weather/spiders"目录下创建一个名为"weather_spider.py"的Spider文件。将以下代码复制到文件中:
```python
import scrapy
class WeatherSpider(scrapy.Spider):
name = 'weather'
allowed_domains = ['www.tianqi.com']
start_urls = ['https://www.tianqi.com/beijing/']
def parse(self, response):
temperature = response.xpath('//div[@class="temp"]/text()')[0].extract()
weather = response.xpath('//p[@class="wea"]/text()')[0].extract()
with open('weather.txt', 'w') as f:
f.write('Temperature: {}\nWeather: {}'.format(temperature, weather))
```
这个Spider定义了一个名为"weather"的Spider,它只爬取"www.tianqi.com"域名下的数据,并且开始爬取的URL是https://www.tianqi.com/beijing/。在parse()函数中,使用XPath从响应中提取温度和天气数据,并将它们写入本地文本文件weather.txt。
4. 在命令行中使用以下命令运行Spider:
```
scrapy crawl weather
```
此时,Scrapy会自动运行Spider,爬取https://www.tianqi.com/beijing/页面上的天气数据,并将它们写入本地文件"weather.txt"中。
阅读全文