写一个scrapy爬虫案例
时间: 2023-09-17 17:15:07 浏览: 98
以下是一个简单的scrapy爬虫案例,它可以从百度新闻首页获取新闻标题和链接:
1. 创建一个新的scrapy项目
在命令行中输入以下命令:
```sh
scrapy startproject baidu_news
```
这将创建一个名为“baidu_news”的新scrapy项目。
2. 创建一个新的Spider
在命令行中输入以下命令:
```sh
cd baidu_news
scrapy genspider news_spider baidu.com
```
这将创建一个名为“news_spider”的新Spider,它将从baidu.com开始爬取数据。
3. 编辑Spider代码
在编辑器中打开“baidu_news/spiders/news_spider.py”文件,并将以下代码添加到文件末尾:
```python
import scrapy
class NewsSpider(scrapy.Spider):
name = "news"
allowed_domains = ["baidu.com"]
start_urls = ["https://www.baidu.com/s?tn=news"]
def parse(self, response):
for news in response.css(".result"):
yield {
"title": news.css(".c-title a::text").get(),
"link": news.css(".c-title a::attr(href)").get(),
}
```
这段代码定义了一个名为“NewsSpider”的Spider,它将从百度新闻首页开始爬取数据。在“parse”方法中,我们使用CSS选择器从响应中提取标题和链接,并将它们作为字典生成器的值返回。
4. 运行Spider
在命令行中输入以下命令:
```sh
scrapy crawl news
```
这将启动Spider并开始爬取百度新闻首页的数据。爬取完成后,爬取到的数据将被打印到命令行中。
阅读全文