本文主要利用 Scrapy 框架实现一个网路爬虫,爬取 CSDN 单页面文章的一些信息。写爬虫不是目的,通过实践来学习才是。
提示:Scrapy
安装请参考 Scrapy在Windows平台的安装
新建项目
- 创建项目
scrapy startproject blog
- 切换项目目录
cd blog
- 创建爬虫文件
scrapy genspider csdn blog.csdn.net
分析页面
我们要爬取的页面为用户的文章列表页面。
例如:https://blog.csdn.net/qq_28537277
我们要爬取的关键信息如下图标记。
浏览器进入开发者模式。Ctrl+F
。通过 xpath
定位每个元素位置。
爬虫
- 在
items.py
中定义字段
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class BlogItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
article_type = scrapy.Field()
article_title = scrapy.Field()
create_date = scrapy.Field()
read_num = scrapy.Field()
comment_num = scrapy.Field