用scrapy爬https://news.sina.cn/zt_d/ 这个网站的数据
时间: 2023-08-27 22:05:00 浏览: 63
首先,需要安装Scrapy和其他必要的Python库。可以使用以下命令安装Scrapy和其他必要的库:
```
pip install scrapy
pip install pandas
pip install openpyxl
```
接下来,创建一个新的Scrapy项目:
```
scrapy startproject sina_news
```
然后,创建一个名为`sina_news_spider.py`的Python文件,并将以下代码复制并粘贴:
```python
import scrapy
import pandas as pd
from openpyxl import Workbook
class SinaNewsSpider(scrapy.Spider):
name = "sina_news"
allowed_domains = ["news.sina.cn"]
start_urls = ["https://news.sina.cn/zt_d/"]
def parse(self, response):
# 获取所有新闻块
news_blocks = response.xpath('//div[@class="block-ct"]/div[@class="block-bd border-bottom"]/div')
# 创建一个Excel工作簿
wb = Workbook()
ws = wb.active
# 添加表头
ws.append(["标题", "链接", "时间"])
# 遍历每个新闻块并提取信息
for block in news_blocks:
title = block.xpath('.//h3/a/text()').get()
link = block.xpath('.//h3/a/@href').get()
time = block.xpath('.//span[@class="time"]/text()').get()
# 将提取的信息添加到Excel表格中
ws.append([title, link, time])
# 保存Excel文件
wb.save("sina_news.xlsx")
```
在终端中,使用以下命令运行爬虫:
```
scrapy crawl sina_news
```
爬虫将提取每个新闻块的标题、链接和时间,并将其保存到名为`sina_news.xlsx`的Excel文件中。