#实战项目二:社交媒体监控
📂 所属阶段:第四阶段 — 实战演练(项目开发篇)
#1. CrawlSpider
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
class SocialMediaSpider(CrawlSpider):
name = 'social_media'
allowed_domains = ['example.com']
start_urls = ['http://example.com']
rules = (
# 提取用户链接
Rule(
LinkExtractor(allow=r'/user/\d+'),
callback='parse_user',
follow=True
),
# 提取帖子链接
Rule(
LinkExtractor(allow=r'/post/\d+'),
callback='parse_post'
),
)
def parse_user(self, response):
yield {
'username': response.css('h1::text').get(),
'followers': response.css('span.followers::text').get(),
}
def parse_post(self, response):
yield {
'title': response.css('h2::text').get(),
'content': response.css('div.content::text').get(),
'likes': response.css('span.likes::text').get(),
}#2. 小结
CrawlSpider 优势:
1. 规则驱动:自动提取链接
2. 灵活配置:支持复杂规则
3. 自动跟踪:自动翻页
应用场景:
- 社交媒体监控
- 论坛爬虫
- 新闻聚合💡 记住:CrawlSpider 是处理复杂网站的利器。学会用它,你就掌握了高级爬虫技巧。
🔗 扩展阅读

