『scrapy爬虫』10. 实战爬取自己的csdn信息(详细注释步骤)
以下是一个简化的示例代码,展示了如何使用Scrapy框架来爬取CSDN上用户博客的基本信息。
import scrapy
class CsdnBlogSpider(scrapy.Spider):
name = 'csdn_blog'
allowed_domains = ['blog.csdn.net']
start_urls = ['https://blog.csdn.net/your_username']
def parse(self, response):
# 提取博客信息,例如博客名称、评论数、点赞数等
for blog in response.css('div.article-item-box'):
title = blog.css('div.article-item-box > a > span::text').extract_first()
comments_str = blog.css('div.article-item-box > a > span > span::text').extract_first()
likes_str = blog.css('div.article-item-box > a > span > span > span::text').extract_first()
# 清洗数据,去除无关的字符
comments = comments_str.strip('评论') if comments_str else 0
likes = likes_str.strip('点赞') if likes_str else 0
yield {
'title': title,
'comments': comments,
'likes': likes,
}
# 提取并解析下一页的链接
next_page_url = response.css('a.next::attr(href)').extract_first()
if next_page_url:
yield response.follow(next_page_url, self.parse)
这段代码定义了一个名为csdn_blog
的爬虫,它会爬取指定CSDN用户主页上的博客信息,包括博客标题、评论数和点赞数。同时,如果有下一页,爬虫还会跟进并解析。
注意:
- 请将
your_username
替换为你的CSDN用户名。 - 这个示例假设博客列表按照页面布局排列,实际可能需要根据实际HTML结构进行调整。
- 爬取数据时,请遵守相关的法律法规,并尊重网站的
robots.txt
规则,避免对网站服务器造成过大压力。
评论已关闭