scrapy爬虫案例
时间: 2024-12-26 18:09:19 浏览: 3
Scrapy是一个强大的Python网络爬虫框架,常用于数据抓取和自动化网页数据提取。下面举一个简单的Scrapy爬虫案例,假设我们要抓取某个新闻网站的标题和发布时间:
1. 首先,安装Scrapy和必要的库(如requests和BeautifulSoup4):
```
pip install scrapy requests beautifulsoup4
```
2. 创建一个新的Scrapy项目:
```
scrapy startproject my_crawler
cd my_crawler
```
3. 在`my_crawler`文件夹下创建一个新的spider(比如`news_spider.py`),定义Spider类:
```python
# news_spider.py
import scrapy
class NewsSpider(scrapy.Spider):
name = 'news'
allowed_domains = ['example.com'] # 替换为你想要爬取的网站
start_urls = ['http://example.com/news']
def parse(self, response):
titles = response.css('h2 a::text') # CSS选择器选取标题
dates = response.css('.post-date::text') # 选取发布时间
for title, date in zip(titles, dates):
yield {
'title': title.get(),
'date': date.get(),
}
```
4. 运行爬虫:
```
scrapy crawl news
```
这个例子中,我们定义了一个名为`NewsSpider`的爬虫,它会开始于指定的URL,并使用CSS选择器来抓取标题和日期。每次找到匹配的数据,就通过yield将它们作为字典返回。
阅读全文